顺序队列
顺序队列
队列的顺序存储结构
头指针指向头结点 尾指针指向尾结点的下一个位置
代码
#include
#include
#include
using namespace std;
#define MaxSize 10
typedef struct{
int data[MaxSize];
int front,rear;
}SqQueue;
//初始化
void InitQueue(SqQueue &Q){
Q.rear = Q.front = 0;
}
//判断队空
bool QueueEmpty(SqQueue &Q){
if (Q.rear == Q.front)
return true;
else
return false;
}
//入队
bool EnQueue(SqQueue &Q, int x){
if (Q.rear == MaxSize)
return false;
Q.data[Q.rear] = x;
Q.rear = Q.rear + 1;
return true;
}
//出队
bool DeQueue(SqQueue &Q, int &x){
if (Q.rear == Q.front)
return false;
x = Q.data[Q.front];
Q.front = Q.front + 1;
return true;
}
//读队首元素
bool GetHead(SqQueue &Q,int &x){
if (Q.rear == Q.front)
return false;
x = Q.data[Q.front];
return true;
}
int main(){
SqQueue Q;
InitQueue(Q);
int n;
cin >> n;
for (int i = 0; i < n; i ++)
{
int x;
cin >> x;
EnQueue(Q,x);
}
cout << "Q.front: "<