顺序队列
一、实验目的
熟悉并实现顺序队列的操作
二、实验步骤
#include<iostream>
using namespace std;
const int QueueSize = 100;
template<class DataType>
class CirQueue
{
public:
CirQueue() { front = rear = QueueSize - 1; }
~CirQueue() {};
void EnQueue(DataType x);
DataType DeQueue();
DataType GetQueue();
int Empty() (){
if (front == rear)
{
return 1;
}
else {
return 0;
}
private:
DataType data[QueueSize];
int front;
int rear;
};
///入队
template<class DataType>
void CirQueue<DataType>::EnQueue(DataType x)
{
if ((rear + 1) % QueueSize == front)throw"上溢";
else {
rear = (rear + 1) % QueueSize;
data[rear] = x;
}
}
///出队
template<class DataType>
DataType CirQueue<DataType>::DeQueue()
{
if (rear == front)throw"下溢";
else {
front = (front + 1) % QueueSize;
return data[front];
}
}
///读取队头元素
template <class DataType>
DataType CirQueue&

本文主要介绍了顺序队列的概念,并详述了如何实现顺序队列的基本操作。实验目的是熟悉顺序队列,包括队空和队满的判断条件,即队头指针等于队尾指针表示队空,而在浪费一个存储单元的情况下,当(队尾指针+1)% 数组长度等于队头指针则表示队满。作者指出实际操作过程中需要注意时间效率,建议通过反复练习来提高熟练度。
最低0.47元/天 解锁文章
1191

被折叠的 条评论
为什么被折叠?



