数据结构队列的顺序表示和实现C语言演示

ID:38706138

大小:26.50 KB

页数:4页

时间:2019-06-18

数据结构队列的顺序表示和实现C语言演示_第1页
数据结构队列的顺序表示和实现C语言演示_第2页
数据结构队列的顺序表示和实现C语言演示_第3页
数据结构队列的顺序表示和实现C语言演示_第4页
资源描述:

《数据结构队列的顺序表示和实现C语言演示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*队列的顺序表示和实现*/#include#include//定义机构体typedefstructQueue{int*pBash;//存放数组intfront;//队列第一个元素下标intrear;//队列最后一个元素的下一个元素的下标}QUEUE,*PQUEUE;//函数的前置声明voidinit(PQUEUE);//初始化队列boolen_queue(PQUEUE,int);//入队voidtraverse_queue(PQUEUE);//遍历队列bo

2、olfull_queue(PQUEUE);//判断队列是否已满boolempty_queue(PQUEUE);//判断队列是否是空boolout_queue(PQUEUE,int*);//出队intmain(void){QUEUEqueue;intval;//初始化队列init(&queue);//入队一个元素printf("入队6个元素");en_queue(&queue,1);en_queue(&queue,2);en_queue(&queue,3);en_queue(&queue,4)

3、;en_queue(&queue,5);en_queue(&queue,6);//遍历这个队列printf("查看队列元素");traverse_queue(&queue);//一个元素出队if(out_queue(&queue,&val)){printf("一个元素出队,值为%d",val);}else{printf("出栈失败!");}//遍历这个队列printf("查看队列元素");traverse_queue(&queue);return0;}//初始化队列voidinit(

4、PQUEUEqueue){queue->pBash=(int*)malloc(sizeof(int)*6);queue->front=0;queue->rear=0;}//入队一个元素boolen_queue(PQUEUEqueue,intval){//判断队列是否已满if(full_queue(queue)){printf("队列已满,不能加入元素");returnfalse;}/*此处出现严重错误原错误代码:queue->pBash[queue->front]=val;这样做的结果是,所

5、有进入队列元素,都会替换掉队首元素正确的写法是:queue->pBash[queue->rear]=val;*/queue->pBash[queue->rear]=val;queue->rear=(queue->rear+1)%6;returntrue;}//判断队列是否已满boolfull_queue(PQUEUEqueue){if(queue->front==(queue->rear+1)%6){returntrue;}else{returnfalse;}}//遍历这个队列voidtrave

6、rse_queue(PQUEUEqueue){inti;i=queue->front;while(i!=queue->rear){printf("%d",queue->pBash[i]);i=(i+1)%6;}printf("");return;}//判断队列是否是空boolempty_queue(PQUEUEqueue){if(queue->front==queue->rear){returntrue;}else{returnfalse;}}//出队一个元素boolout_queue(PQ

7、UEUEqueue,int*val){if(empty_queue(queue)){printf("队列已经为空");returnfalse;}*val=queue->pBash[queue->front];queue->front=(queue->front+1)%6;returntrue;}/*VC++6.0输出的结果:==================================入队6个元素队列已满,不能加入元素查看队列元素12345一个元素出队,值为1查看队列元素2345===

8、===============================*/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
正文描述:

《数据结构队列的顺序表示和实现C语言演示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*队列的顺序表示和实现*/#include#include//定义机构体typedefstructQueue{int*pBash;//存放数组intfront;//队列第一个元素下标intrear;//队列最后一个元素的下一个元素的下标}QUEUE,*PQUEUE;//函数的前置声明voidinit(PQUEUE);//初始化队列boolen_queue(PQUEUE,int);//入队voidtraverse_queue(PQUEUE);//遍历队列bo

2、olfull_queue(PQUEUE);//判断队列是否已满boolempty_queue(PQUEUE);//判断队列是否是空boolout_queue(PQUEUE,int*);//出队intmain(void){QUEUEqueue;intval;//初始化队列init(&queue);//入队一个元素printf("入队6个元素");en_queue(&queue,1);en_queue(&queue,2);en_queue(&queue,3);en_queue(&queue,4)

3、;en_queue(&queue,5);en_queue(&queue,6);//遍历这个队列printf("查看队列元素");traverse_queue(&queue);//一个元素出队if(out_queue(&queue,&val)){printf("一个元素出队,值为%d",val);}else{printf("出栈失败!");}//遍历这个队列printf("查看队列元素");traverse_queue(&queue);return0;}//初始化队列voidinit(

4、PQUEUEqueue){queue->pBash=(int*)malloc(sizeof(int)*6);queue->front=0;queue->rear=0;}//入队一个元素boolen_queue(PQUEUEqueue,intval){//判断队列是否已满if(full_queue(queue)){printf("队列已满,不能加入元素");returnfalse;}/*此处出现严重错误原错误代码:queue->pBash[queue->front]=val;这样做的结果是,所

5、有进入队列元素,都会替换掉队首元素正确的写法是:queue->pBash[queue->rear]=val;*/queue->pBash[queue->rear]=val;queue->rear=(queue->rear+1)%6;returntrue;}//判断队列是否已满boolfull_queue(PQUEUEqueue){if(queue->front==(queue->rear+1)%6){returntrue;}else{returnfalse;}}//遍历这个队列voidtrave

6、rse_queue(PQUEUEqueue){inti;i=queue->front;while(i!=queue->rear){printf("%d",queue->pBash[i]);i=(i+1)%6;}printf("");return;}//判断队列是否是空boolempty_queue(PQUEUEqueue){if(queue->front==queue->rear){returntrue;}else{returnfalse;}}//出队一个元素boolout_queue(PQ

7、UEUEqueue,int*val){if(empty_queue(queue)){printf("队列已经为空");returnfalse;}*val=queue->pBash[queue->front];queue->front=(queue->front+1)%6;returntrue;}/*VC++6.0输出的结果:==================================入队6个元素队列已满,不能加入元素查看队列元素12345一个元素出队,值为1查看队列元素2345===

8、===============================*/

显示全部收起
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭