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

📄 seqqueue.h

📁 里面包含各种数据结构方面的知识,如链表,树,图等 含有vc代码
💻 H
字号:
#include <iostream.h>
#include <stdlib.h>
const int MaxQueueSize = 100;

class SeqQueue
{
		private:
			datatype data[MaxQueueSize];		//抽象类型datatype定义的数组
			int front;							//队头指示器
			int rear;							//队尾指示器
			int count;							//元素个数计数器
		public:
			SeqQueue(void)				  		//构造函数
				{front = rear = 0; count = 0;}; 
			~SeqQueue(void){};  					//析构函数
			void QInsert(const datatype& item); //入队列
			datatype QDelete(void);       		//出队列
			datatype QFront(void)const; 			//读队头元素值
			int QueueEmpty(void)const  			//判队列是否为空
        			{return front == rear;};
			void ClearQueue(void)           		//清空队列
        			{front = rear = 0; count = 0;}
			int GetSize(void)const     			//取队列元素个数
        			{return count;};
};

//把元素item入队列
void SeqQueue::QInsert(const datatype& item)
{
   if(count == MaxQueueSize)
   {
      cerr << "队列已满!" << endl;
	  exit(1);
   }
   data[rear] = item;						//把元素item加在队尾
   rear = (rear + 1) % MaxQueueSize;			///队尾指示器加1
   count++;									//计数器加1
}

//把队头元素出队列,出队列元素由返回值带回
datatype SeqQueue::QDelete()
{
   datatype temp;
   if(count == 0)
   {
      cerr << "队列已空!" << endl;
	  exit(1);
   }
   temp = data[front];						//保存原队头元素值
   front = (front + 1) % MaxQueueSize;		//队头指示器加1
   count--;									//计数器减1
   return temp;								//返回原队头元素
}

//读队头元素,队头元素由返回值带回
datatype SeqQueue::QFront(void)const
{  
   if(count == 0)
   {
      cerr << "队列空!" << endl;
	  exit(1);
   }
   return data[front];						//返回队头元素
}

⌨️ 快捷键说明

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