⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queue.h

📁 这是数据结构算法中的队列的实现源码。用C++开发。
💻 H
字号:
//THE FILE INCLUDES THE CLASS "NODE" "LIST"
//FILE QUEUE.H

#include    <stdio.h>
#include    <conio.h>
#include <iostream.h>

class NODE
{
	friend class LIST;
	private:
			NODE *NEXT;
			int  DATA;
};

class LIST
{
	private:
			NODE *HEAD;				//Head of list
	public:
			LIST()
			{
				HEAD=0;
			}
			void FORWARD_ADD(int Data);
			void BACKWARD_ADD(int Data);      //Add to the tail of the list
			int  GET();			  //Remove the head of the list
			~LIST(){};
};

void LIST::FORWARD_ADD(int Data)
{
	NODE *BUFFER;
	BUFFER=new NODE;
	BUFFER->DATA=Data;
	if (HEAD==0)      /*Add an head node*/
	{
		BUFFER->NEXT=0;    /**/
		HEAD=BUFFER;
	}
	else              /*Add one node in the head*/
	{
		BUFFER->NEXT=HEAD;
		HEAD=BUFFER;
	}
}
void LIST::BACKWARD_ADD(int Data)
{
	NODE *NEWNODE;
	NODE *TEMP;
	NODE *PREVIOUS;

	if (HEAD==0)
	{
		HEAD=new NODE;
		HEAD->DATA=Data;
		HEAD->NEXT=0;
	}
	else /*HEAD != 0*/
	{
		/*search for the last node*/
		TEMP=HEAD->NEXT;
		PREVIOUS=HEAD;
		while (TEMP!=0)
		{
			PREVIOUS=TEMP;
			TEMP=TEMP->NEXT;
		}
		/*Go to the end.And add a new one.*/
		NEWNODE=new NODE;
		NEWNODE->DATA=Data;
		NEWNODE->NEXT=0;
		PREVIOUS->NEXT=NEWNODE;
	}
}

int LIST::GET()
{
	int Data;
	NODE *PREVIOUS;
	if (HEAD==0)
	{
		printf("The queue is EMPTY!");
		return -1;
	}
	else
	{
		PREVIOUS=HEAD;
		Data=HEAD->DATA;
		HEAD=HEAD->NEXT;
		delete PREVIOUS;
		return Data;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -