| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 351 人关注过本帖
标题:请问哪里出错了呢??循环队列
取消只看楼主 加入收藏
lqh134170985
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-1
收藏
 问题点数:0 回复次数:1 
请问哪里出错了呢??循环队列
#include "stdio.h"
#include "malloc.h"
#define QueueSize 20
/*#define ERROR 0
#define OK 1*/
#define MAXQSIZE 100
typedef int QElemType;
typedef struct
{
 QElemType *base;
 int front;
 int rear;
}SqQueue;

SqQueue * InitQueue ()
{
 SqQueue *Q;
 Q=(SqQueue*)malloc(MAXQSIZE*sizeof(SqQueue));

 Q->front=Q->rear=0;
 return Q;
}
void EnQueue(SqQueue *Q,QElemType e){

 if((Q->rear+1)%MAXQSIZE==Q->front) printf("溢出");;
Q->base[Q->rear]=e;
 Q->rear=(Q->rear+1)%MAXQSIZE;

}
QElemType DeQueue (SqQueue *Q){
 QElemType e;
 if(Q->front==Q->rear) printf("队列为空");
e=Q->base[Q->front];
 Q->front=(Q->front+1)%MAXQSIZE;
 return e;
}
QElemType GetHead(SqQueue *Q){
 QElemType e;
 if(Q->front==Q->rear) return 0;
 else
 e=Q->base[Q->front];
 return e;}
int QueueEmpty(SqQueue *Q){
 return (Q->front==Q->rear);}
void TraverSq(SqQueue Q){

 do{
 printf("%d\t",DeQueue(&Q));
 }while(!QueueEmpty(&Q));
 }
void YangHui(int n){


 SqQueue *q;
 int j,s,t;
 q=InitQueue();
 EnQueue(q,0);
 EnQueue(q,1);
 for(j=1;j<=n;j++)
 {
 EnQueue(q,0);
 do{
 s=DeQueue(q);
 t=GetHead(q);
 if(t)
 printf("%d\t",t);
 else
 printf("\n");
 EnQueue(q,s+t);
 }while(t!=0);
 }
 DeQueue(q);
 TraverSq(*q);

 }

void main(){

 YangHui(5);

}
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: include return 
2014-12-01 21:57
lqh134170985
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-1
收藏
得分:0 
没人回复下么
2014-12-01 22:02
快速回复:请问哪里出错了呢??循环队列
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024669 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved