📄 tagseqqueue.h
字号:
#ifndef TAGSEQQUEUE_H
#define TAGSEQQUEUE_H
class TagSeqQueue
{
private:
DataType data[MaxQueueSize];
int front;
int rear;
bool tag;
public:
TagSeqQueue(void)
{front = rear = 0; tag=0;};
~TagSeqQueue(void){};
void Append(const DataType& item); //入队列
DataType Delete(void); //出队列
DataType GetFront(void)const; //取队头数据元素
int NotEmpty(void)const //非空否
{return tag!=0;};
};
void TagSeqQueue::Append(const DataType& item) //入队列
//把数据元素item插入队列作为当前的新队尾
{
if(rear==front&&tag==1)
{
cout << "队列已满!" << endl;
exit(0);
}
data[rear] = item; //把元素item加在队尾
rear = (rear + 1) % MaxQueueSize; ///队尾指示器加1
tag=1;
}
DataType TagSeqQueue::Delete(void) //出队列
//把队头元素出队列,出队列元素由函数返回
{
if(rear==front&&tag==0)
{
cout << "队列已空!" << endl;
exit(0);
}
DataType temp = data[front]; //保存原队头元素
front = (front + 1) % MaxQueueSize; //队头指示器加1
tag=0;
return temp; //返回原队头元素
}
DataType TagSeqQueue::GetFront(void)const //取队头数据元素
//取队头元素并由函数返回
{
if(rear==front&&tag==0)
{
cout << "队列已空!" << endl;
exit(0);
}
return data[front]; //返回队头元素
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -