数据结构--循环队列算法
来源:互联网 发布:java解决死锁的方法 编辑:程序博客网 时间:2024/06/05 20:13
#include<stdio.h> #include<malloc.h>#include<stdlib.h>typedef struct Queue{int * pBase;int front;int rear;}QUEUE;void init(QUEUE *);bool en_queue(QUEUE *,int val);void traverse_queue(QUEUE *); bool full_queue(QUEUE *);bool out_queue(QUEUE *, int *);bool emput_queue(QUEUE * );int main(void){Queue Q;init(&Q);en_queue(&Q,1);en_queue(&Q,2);en_queue(&Q,3);en_queue(&Q,4);en_queue(&Q,5);en_queue(&Q,6);en_queue(&Q,7);en_queue(&Q,8);traverse_queue(&Q);int val;if(out_queue(&Q,&val)){printf("出队成功 元素是:%d\n",val);}else{printf("出队失败\n");}traverse_queue(&Q);system("pause");return 0;}void init(QUEUE *pQ){pQ->pBase = (int *)malloc(sizeof(int)*6);//指向一个数组 pQ->front = 0;pQ->rear = 0;}bool full_queue(QUEUE * pQ){if((pQ->rear+1)%6 == pQ->front)return true;elsereturn false;}bool en_queue(QUEUE * pQ,int val)//向里面放值 {if(full_queue(pQ)){return false;}else{pQ->pBase[pQ->rear] = val;pQ->rear = (pQ->rear+1)%6; return true;} }void traverse_queue(QUEUE * pQ){int i = pQ->front;while(i != pQ->rear){printf("%d ",pQ->pBase[i]);i = (i+1)%6;}printf("\n");return;} bool emput_queue(QUEUE * pQ){if(pQ->front == pQ->rear)return true;elsereturn false;}bool out_queue(QUEUE * pQ, int *pVal){if(emput_queue(pQ)){return false;}else{*pVal = pQ->pBase[pQ->front];pQ->front = (pQ->front+1)%6;return true;}}
0 0
- 数据结构--循环队列算法
- 循环队列---数据结构和算法
- 数据结构与算法系列-队列-循环队列
- 数据结构经典算法汇总___循环队列:
- 数据结构与算法之—循环队列
- 数据结构课程要求算法-循环队列
- 数据结构与算法之循环队列
- 数据结构与算法——循环队列
- 数据结构与算法(7)循环队列
- 【数据结构】队列-循环队列
- 【数据结构-队列】循环队列
- 数据结构(队列):循环队列
- <八>java数据结构与算法 队列 与 循环队列
- 数据结构-08 队列(循环队列)
- 数据结构之循环队列
- 循环队列(数据结构)
- 数据结构_循环队列
- 数据结构--循环队列
- 导出导入Oracle数据
- NYOJ-491 幸运三角形
- C++ STL学习之stack。
- 递归函数详解
- 编程珠玑——初体验:排序
- 数据结构--循环队列算法
- Android中需要向SHarePreference中存数组的情况的解决方案
- git dff命令
- 正确使用Block避免Cycle Retain和Crash
- 一元三次方程求解(二分法寻根)
- .NET视频总结
- 仿360卫视桌面悬浮窗效果
- Android底部菜单栏(用TabHost一次性加载耗内存)
- 超简单PHP生成二维码实例