数据结构——循环队列的简单实现
程序员文章站
2022-07-14 12:34:38
...
//队列的实现
#include <stdio.h>
#define Maxsize 50
typedef struct{
int data[Maxsize];
int front,rear;
}SqQueue;
//队列的初始化
void InitQueue(SqQueue &Q){
Q.front = Q.rear = 0;
}
//判队空
bool isEmpty(SqQueue Q){
if(Q.rear==Q.front)
return true;
else return false;
}
//入队
bool EnQueue(SqQueue &Q,int x){
if((Q.rear+1)%Maxsize == Q.front)
return false;
Q.data[Q.rear] = x;
Q.rear = (Q.rear + 1)%Maxsize;
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)%Maxsize;
return true;
}
int main(){
SqQueue SQ;
InitQueue(SQ);
int x,counter;
printf("请输入元素个数:\n");
scanf("%d",&counter);
printf("请输入队列元素:\n");
for(int i = 0;i < counter;i++){
scanf("%d",&x);
EnQueue(SQ,x);
}
printf("出队结果如下所示:\n");
for(int j = 0;j < counter;j++){
DeQueue(SQ,x);
printf("\t%d",x);
}
return 0;
}
上一篇: STL vector简单用法
下一篇: 第十五课server