石油大学 队列操作(链队列+顺序队列)

石油大学 队列操作(链队列+顺序队列)

ID:38702102

大小:27.50 KB

页数:5页

时间:2019-06-17

石油大学 队列操作(链队列+顺序队列)_第1页
石油大学 队列操作(链队列+顺序队列)_第2页
石油大学 队列操作(链队列+顺序队列)_第3页
石油大学 队列操作(链队列+顺序队列)_第4页
石油大学 队列操作(链队列+顺序队列)_第5页
资源描述:

《石油大学 队列操作(链队列+顺序队列)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、//进队出队操作时自动判断队空队满#include#include#defineMAXSIZE1000typedefstruct//顺序队列定义{intdata[MAXSIZE];//队员的存储空间intfront,rear;//队头、队尾指针}SeQueue;SeQueue*sq;intcreatesq()//顺序队列的建立{intn,x,i;sq=(SeQueue*)malloc(sizeof(SeQueue));sq->front=sq->rear=-1;printf("请输入要建立的顺序队列元素个数:");scanf("%

2、d",&n);printf("请输入数据元素:");for(i=0;idata[i]=x;sq->rear++;}return0;}intputsq()//顺序队列的输出{inti;printf("顺序队列输出为:");for(i=sq->front+1;i<=sq->rear;i++)printf("%d",sq->data[i]);printf("");return0;}intemptysq()//判断队空(顺序队列){if(sq->front==sq->rear)return1;elsereturn0;}

3、intfullsq()//判断队满(顺序队列){if(sq->rear+1==MAXSIZE)return1;elsereturn0;}intinsq()//入队(顺序队列){intx;if(fullsq())printf("队满!");else{printf("请输入入队元素:");scanf("%d",&x);sq->data[++sq->rear]=x;}return0;}intoutsq()//出队(顺序队列){intx;if(emptysq())printf("队空!");else{x=sq->data[++sq->front];printf("队头

4、元素%d已出队",x);}return0;}typedefstructnode//链队列结点定义{intdata;structnode*next;}QNode;typedefstruct//将链队列头尾指针封装在一起{QNode*front;QNode*rear;}LQueue;LQueue*q;intcreatelq()//创建带头节点的链队列{inti,n;QNode*p;q=(LQueue*)malloc(sizeof(LQueue));p=(QNode*)malloc(sizeof(QNode));q->front=q->rear=p;printf("请输

5、入要建立的链栈元素个数:");scanf("%d",&n);printf("请输入数据:");for(i=0;idata);q->rear->next=p;q->rear=p;}q->rear->next=NULL;return0;}intputlq()//链队列的输出{QNode*p;p=q->front->next;printf("顺序队列输出为:");while(p!=NULL){printf("%d",p->data);p=p->next;}print

6、f("");return0;}intemptylq()//判断队空(链队列){if(q->front==q->rear)return1;elsereturn0;}intinlq()//入队(链队列){intx;QNode*p;p=(QNode*)malloc(sizeof(QNode));printf("请输入入队元素:");scanf("%d",&x);p->data=x;p->next=NULL;q->rear->next=p;q->rear=p;return0;}intoutlq()//出队(链队列){QNode*p;if(emptylq())printf(

7、"队空!");elseif(q->front->next==NULL){printf("队空!");q->rear=q->front;}else{p=q->front->next;q->front->next=p->next;printf("队头元素%d已出队",p->data);free(p);}return0;}intmain(){intn;createsq();putsq();printf("*************顺序队列操作*************0.退出1.进队2.出队***********************

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

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

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