队列的顺序存储结构(循环队列)和操作实现。

 时间:2024-10-16 02:48:53

1、一、要求队列的顺序存储结构(循环队列)和操作实现。

队列的顺序存储结构(循环队列)和操作实现。

2、二、代码#include#include#define OVERFLOW -2#define MAXQSIZE 100 /*队列的最大长度*/typedef struct { int *base; // 队列的元素空间头指针指示器 int front; int rear; /*尾指针指示器*/}SqQueue; int InitQueue(SqQueue &Q) {//初始化操作Q.base = (int * )malloc(MAXQSIZE*sizeof(int));if (!Q. base) exit (OVERFLOW); Q.front=Q.rear =0;return 1;}int EnQueue(SqQueue &Q) {//入队操作int e;if ((Q. rear+ 1) % MAXQSIZE == Q. front){ printf("队列已满,不能进队\n"); return -1;//满标志}printf("请输入进队元素:");scanf("%d",&e);Q.base[Q.rear] = e;//进队Q.rear = (Q. rear + 1) % MAXQSIZE;//队尾指针后移return 1;}int DeQueue (SqQueue &Q) {//出队操作int e;if (Q. front == Q. rear) { printf("队列已经为空\n"); return -1;}e = Q. base[Q. front];//队头出队printf("%d 出队\n",e);Q.front = (Q.front + 1) % MAXQSIZE;//队头下标后移return 1;}void tip(){ printf("*************\n");printf("*输入1 进队 *\n");printf("*输入2 出队 *\n");printf("*输入0 退出 *\n");printf("*请选择: *\n");printf("*************\n");}int main(){int k;SqQueue Q;InitQueue(Q);//初始化tip();while(scanf("%d",&k),k){ switch(k) { case 1: EnQueue(Q); tip(); printf("操作完毕\n"); break; case 2: DeQueue(Q); tip(); printf("操作完毕\n"); break; }}return 0;}

队列的顺序存储结构(循环队列)和操作实现。

3、三、运行结果

队列的顺序存储结构(循环队列)和操作实现。
  • 兰花蜜枣如何制作的
  • 形意十二形拳的搏击应用研究之龙形实战技法一
  • win7完美运行vb6.0(拖动控件迟缓等问题)
  • 绿豆汤圆的做法
  • 搜狗输入法怎么查生僻字
  • 热门搜索
    法制手抄报 诚实守信手抄报 春节的手抄报 交通手抄报 防火手抄报 遨游汉字王国手抄报 安全伴我行手抄报 端午节手抄报内容 科学手抄报 防溺水的手抄报