链式队列的基本操作

链式队列的基本操作

ID:45836841

大小:15.21 KB

页数:4页

时间:2019-11-18

链式队列的基本操作_第1页
链式队列的基本操作_第2页
链式队列的基本操作_第3页
链式队列的基本操作_第4页
资源描述:

《链式队列的基本操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#includetypedefcharElemType;typedefstructQNode{ElemTypedata;structQNode*next;}QNode,*QueuePtr;typedefstruct{QueuePtrfront;QueuePtrrear;}LinkQueue;//链式队列//初始化LinkQueueInitQueue(){LinkQueueQ;Q.rear=(QNode*)malloc(sizeof(QNode));Q.front=Q.rear;if(Q.front==NULL)printf("内存分配失败

2、");else{Q.front->next=NULL;returnQ;}}//判断链栈是否为空intQueueEmpty(LinkQueueQ){if(Q.front->next==NULL)return1;elsereturn0;}//求链式队列长度intQueueLength(LinkQueueQ){intcount=0;QNode*s;s=Q.front->next;while(s!=NULL){count++;s=s->next;}returncount;}//元素入队intEnQueue(LinkQueue&Q,ElemTypee){QNode*s;s=(QNode*)mall

3、oc(sizeof(QNode));if(!s){printf("内存分配失败");return0;}else{s->data=e;s->next=NULL;Q.rear->next=s;Q.rear=s;return1;}}//元素出队intDeQueue(LinkQueue&Q,ElemType&e){QNode*s;if(Q.front==Q.rear){printf("队列已空");return0;}else{s=Q.front->next;e=s->data;Q.front->next=s->next;if(Q.rear==s)Q.rear=Q.front;free(s);

4、return1;}}//取队头元素intGetHead(LinkQueueQ,ElemType&e){QNode*s;if(Q.front==Q.rear){printf("队列已空");return0;}else{s=Q.front->next;e=s->data;return1;}}//清空队列voidClearQueue(LinkQueue&Q){while(Q.front!=NULL){Q.rear=Q.front->next;free(Q.front);Q.front=Q.rear;}}//遍历队列voidQueueTraverse(LinkQueueQ){QNode*s;El

5、emTypee;s=Q.front->next;while(s){e=s->data;printf("%c",e);s=s->next;}}intscan(){intd;printf("请输入要进行的操作1.初始化一个链式队列2.清空队列3.求队列长度4.检查队列是否为空5.取队头元素6.元素入队7.元素出队8.输出队列所有元素其他键退出...");scanf("%d",&d);return(d);}intmain(){intquit=0;ElemTypee;LinkQueueQ;while(!quit)switch(scan()){c

6、ase1:Q=InitQueue();printf("");break;case2:ClearQueue(Q);printf("");break;case3:printf("队列的长度为:%d",QueueLength(Q));break;case4:if(QueueEmpty(Q))printf("队列为空");elseprintf("队列非空");break;case5:if(GetHead(Q,e))printf("队头元素为:%c",e);elsebreak;break;case6:printf("请输入要入队的元素:");getchar();scanf("%c"

7、,&e);if(EnQueue(Q,e))printf("%c已入队",e);break;case7:if(DeQueue(Q,e))printf("%c已出队",e);break;case8:QueueTraverse(Q);break;default:quit=1;}return0;}

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

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

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