#include <iostream>
#define MAXSIZE 7
using namespace std;
typedef struct{
int data[MAXSIZE];
int front,rear;
}sqQueue;
void InitQueue(sqQueue &Q){//初始化
Q.front = Q.rear = 0;
}
int QueueEmpty(sqQueue &Q){//判断为空
if(Q.front == Q.rear){
return true;
}
return false;
}
void EnQueue(sqQueue &Q,int e){//入队
if((Q.rear+1)%MAXSIZE != Q.front){
Q.data[Q.rear] = e;
Q.rear = (Q.rear+1)%MAXSIZE;
}
}
int DeQueue(sqQueue &Q){//出队
if(Q.front == Q.rear){
return false;
}
int e;
e = Q.data[Q.front];
Q.front = (Q.front+1)%MAXSIZE;
return e;
}
void QueueList(sqQueue &Q){
int e;
for(int t = 0;t<=MAXSIZE;t++){
e = DeQueue(Q);
if(e){
cout<<e<<' ';
}
}
}
int main(int argc, char** argv) {
sqQueue Q;
InitQueue(Q);
int array[] = {7,5,3,9,2,4};
int leng = sizeof(array)/sizeof(array[0]);
for(int i = 0;i<leng;i++){
EnQueue(Q,array[i]);
}
for(int t = 0;t<leng;t++){
cout<<DeQueue(Q)<<' ';
// DeQueue(Q);
if(t == 2){
EnQueue(Q,15);
EnQueue(Q,18);
break;
}
}
QueueList(Q);
}
顺序队列的基本操作出队,入队,插入
最新推荐文章于 2024-04-11 22:30:32 发布