📄 seqqueue.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 + -