bujiatango 2021-10-18 17:23 采纳率: 0%
浏览 18
已结题

求指导!!到底为啥会这样儿

img


#include<stdio.h>
#include<stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef int Status;
//队列的顺序存储表示
#define MAXQSIZE 30 //存储空间的初始分配量
typedef struct{
ElemTypebase;
int front;
int rear;
int maxSize;
}SqQueue;
//构造一个空队列Q
Status InitQueue(SqQueue &Q){
Q.base=(ElemType
)malloc(MAXQSIZE*sizeof(ElemType));
if(!Q.base) exit(OVERFLOW);
Q.front=Q.rear=0;
Q.maxSize=MAXQSIZE;
return OK;
}
//判断队列是否为空
Status QueueEmpty(SqQueue Q){
if(Q.rear==Q.front) return TRUE;
else return FALSE;
}
//入队函数
Status EnQueue(SqQueue &Q,ElemType e){
if((Q.rear+1) % Q.maxSize==Q.front)
return ERROR;//队列满
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1) % Q.maxSize;
return OK;
}

//出队函数
Status DeQueue(SqQueue &Q,ElemType &e){
if(Q.front==Q.rear) return ERROR;
e=Q.base[Q.front];
Q.front=(Q.front+1) % Q.maxSize;
return OK;
}
//输出循环队列函数
void OutQueue(SqQueue Q)
{ ElemType e;
if(QueueEmpty(Q)){
printf("这是一个空队列!");
}
else{
while(!QueueEmpty(Q)){
DeQueue(Q,e);
printf("%6d",e);
}
printf("\n");
}
}
//主函数
int main()
{ SqQueue q;
int cord;
ElemType a;
printf("第一次使用必须初始化!\n");
do{
printf("\n主菜单\n");
printf("1初始化循环队列");
printf("2进队一个元素");
printf("3出队一个元素");
printf("4结束程序运行");
printf("\n------------------------------------------------\n") ;
printf("请输入您的选择(1,2,3,4)");
scanf("%d",&cord);
printf("\n");
switch(cord){
case 1:
InitQueue(q);//调用初始化算法;
OutQueue(q);
break;
case 2:
printf("请输入要插入的数据元素:a=");
scanf("%d,&a");
EnQueue(q,a);//调用进队算法;
printf("%d进队之后的队列: ",a);
OutQueue(q);
break;
case 3:
DeQueue(q,a);//调用出队算法;
printf("队头元素%d出队之后的队列: ",a);
OutQueue(q);
break;
case 4:
exit(0);
}
}while(cord<=4);

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-10-20 10:29
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 创建了问题 10月18日

悬赏问题

  • ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题