克己ovo 2021-09-20 20:45 采纳率: 90%
浏览 19
已结题

为什么 出队的时候会出错


//顺序存储的队列
#include<stdio.h>
#include<stdlib.h> 
#define ElemType int
#define MaxSize 10 
//定义队列储存类型
typedef struct Qnode{
    ElemType data[MaxSize];
    int front;
    int rear;     
}*SqQueue,queue;
 
//初始化队列
bool InitQueue(SqQueue &q){            //传引用更加方便 
    q = (SqQueue)malloc(sizeof(queue));
    q->front=q->rear=0;
    printf("初始化成功!\n"); 
    return true;
}



//判断队列是否为空
bool QueueEmpty(SqQueue q){
    if(q->front==q->rear)
    return true;
    return false; 
} 


//入队操作

bool EnterQueue(SqQueue q,ElemType x){
    if((q->rear+1)%MaxSize==q->front)
    return false;
    q->data[q->rear] = x;
    q->rear = (q->rear+1)%MaxSize;
    return true;
} 


//出队操作
bool OutQueue(SqQueue q,ElemType &j){   //j用来保存出队数据 引用传递 
    if(QueueEmpty)
    return false;
    j = q->data[q->front];
    q->front=(q->front+1)%MaxSize;
    return true; 

}  
 
 
 
 
 
 
int main(){
    
    SqQueue q;
    int j,x;
    scanf("%d",&x);
    InitQueue(q);
    if(QueueEmpty(q))
    printf("队列为空\n"); 
    if(EnterQueue(q,x))
    printf("入队成功\n");
    for(int i =0 ;i<q->rear;i++)
    printf("%d\n",q->data[i]); 
    if(OutQueue(q,j))
    printf("kon");
    printf("%d",j);
    
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 克己ovo 2021-09-20 21:18
    关注

    66行 参数q少了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月28日
  • 已采纳回答 9月20日
  • 创建了问题 9月20日

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?