数据结构----队列
来源:互联网 发布:linux 打包压缩文件夹 编辑:程序博客网 时间:2024/04/30 14:37
队列感觉难度比栈要高,比起链表要小#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define MAX 10/*队列是一种允许在一端插入,在另一端删除的线性表 C语言里面数组的下标是从0开始的,初始化队列的时候,令front=rear=-1,当插入新的元素的时候,rear+1 当队头元素出队列的时候,队头指示器front+1,非空队列front总是指向队列中实际队头的前一个位置,尾指示器 总是指向队尾元素*/typedef struct{ int qm[MAX]; int front;//头指示器 int rear;}queue;void Initqueue(queue*q)//初始化队列{ q->front=-1; q->rear=-1;}int queueempty(queue*q)//判断队列是否空{ if(q->front==q->rear) { return 1; } else { return 0; }}int queuefull(queue*q)//判断是否满了{ if(q->rear==MAX-1) { printf("队列已经满了,不能进入队列操作\n"); return 1; } else { return 0; }}int queuelength(queue q)//获取长度{ return (q.rear-q.front);}int insertqueue(queue*q,int m)//插入元素{ if(queuefull(q))return 0; q->rear=q->rear+1; q->qm[q->rear]=m; return 1;}int delqueue(queue*q,int *e){ if(queueempty(q))return 0; q->front=q->front+1; *e=q->qm[q->front]; return 1;}void queuedis(queue q){ int i; printf("队列的元素是:\n"); for(i=q.front+1;i<=q.rear;i++) { printf("%d",q.qm[i]); } printf("\n");}void main(){ queue Q,*q1=&Q; int i,y,n; int x; Initqueue(&Q); printf("请输入需要入队列的个数:\n"); scanf("%d",&n); while(n>MAX) { printf("超过限制:重新输入 :\n"); scanf("%d",&n); } printf("请输入要入队的元素:\n"); for(i=1;i<=n;i++) { scanf("%d",&y); insertqueue(&Q,y); } queuedis(Q); printf("顺序队列的长度为:%d\n",queuelength(Q)); for(i=1;i<=n;i++) { delqueue(&Q,&x); printf("第%d次出队,出队列的元素为:%d\n",i,x); queuedis(Q); printf("\n"); } printf("请输入入队的元素:\n"); scanf("%d",&y); insertqueue(&Q,y); queuedis(Q); printf("顺序队列的长度:%d\n",queuelength(Q)); printf("\n"); printf("请输入入队元素:\n"); scanf("%d",&y); insertqueue(&Q,y); queuedis(Q); printf("顺序队列的长度:%d\n",queuelength(Q)); printf("\n");}
0 0
- 数据结构---队列
- 数据结构--队列
- 数据结构队列
- 数据结构---队列
- 数据结构(队列)
- 数据结构-队列
- 数据结构---->队列
- 数据结构---队列
- 【数据结构】队列
- 数据结构--队列
- 【数据结构】 队列
- 数据结构 -- 队列
- 数据结构--队列
- 数据结构:队列
- 数据结构 队列
- 数据结构----队列
- 数据结构----队列
- 数据结构-队列
- 第一次使用csdn的博客
- hdu4514(求图中最长的路径)
- 《我所知道的软件测试自动化》—关键字驱动的过去和未来
- 开源夏令营总结
- PreSubclassWindow里面再次调用Create函数创建子控件
- 数据结构----队列
- eclipse的优化 gc.log
- Java基础---运算符
- 2048中需要使用的逻辑
- java实现后台自动发邮件功能
- android 自定义view中onMeasure()理解
- JVM性能调优
- POJ 3690 Intervals 费用流 最大变最小
- hdu 4730 We Love MOE Girls(水题)