📄 queue.h
字号:
/***********************/
/* Queue类的定义 */
/***********************/
const int QueueMaxSize=100;
template<class Type>
class Queue{
public:
Queue(){count=0;front=rear=0;}
~Queue(){front=rear=0;}
int QueueEmpty(){return front==rear;}
void QInsert(Type &item)
{
if(count==QueueMaxSize)
{
cerr<<"Queue overflow!"<<endl;
exit(1);
}
rear=(rear+1)%QueueMaxSize; //queue[0]是不存放元素的
queue[rear]=item;
count++;
}
Type QDelete()
{
if(count==0)
{
cerr<<"Queue is empty!"<<endl;
exit(1);
}
front=(front+1)%QueueMaxSize;
count--;
return queue[front];
}
int Contains(Type &elem)
{
if(elem.IsEmpty()) return 0;
for(int i=front;i<=rear;i++)
if(queue[i]==elem)
return 1;
return 0;
}
int GetCode(Type elem)
{
for(int i=front+1;i<=rear;i++)
if(queue[i]==elem)
return i;
return 0;
}
Type queue[QueueMaxSize];
int front,rear;
int count;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -