循环队列--数组实现
来源:互联网 发布:嘉实优化红利股票 编辑:程序博客网 时间:2024/05/22 06:21
<pre name="code" class="cpp"># include <stdio.h># include <malloc.h># define len 6//队列长度 typedef struct QUENE{int * pbase;//数据域 int front;//头指针 int rear;//尾指针 }Quene,* quene;void init_quene(quene que);//建立队列 bool empty_quene(quene que);//判断是否为空 bool full_quene(quene que);//判断释放满溢 bool on_quene(quene que,int val);//入队 bool out_quene(quene que,int *val);//出队 void traverse_quene(quene que);//遍历输出 int main (void){int val; quene que;que = (quene)malloc(sizeof(Quene));//为指针变量que分配空间 init_quene(que);on_quene(que,1);on_quene(que,2);on_quene(que,3);on_quene(que,4);traverse_quene(que);out_quene(que,&val);printf ("%d\n",val);traverse_quene(que);printf ("%d\n",val);return 0;}void init_quene(quene que){que->pbase = (int *)malloc(sizeof(int)*len);//为循环队列分配空间 que->front = 0;que->rear = 0;}bool empty_quene(quene que){if (que->front == que->rear)return true;elsereturn false;}bool full_quene(quene que){if (que->front == (que->rear+1)%len)return true;elsereturn false;}bool on_quene(quene que,int val){if (full_quene(que))return false;else{que->pbase[que->rear] = val;que->rear = (que->rear+1)%len;//尾指针指向下移位置 return true;}}bool out_quene(quene que,int *val){if (empty_quene(que))return false;else{*val = que->pbase[que->front];que->front = (que->front+1)%len;//头指针指向下一位置 return true;}}void traverse_quene(quene que){int i;i = que->front;while(i != que->rear){printf ("%d ",que->pbase[i]);//输出队列 i = (i+1)%len;}printf ("\n");}
0 0
- 数组实现循环队列
- 数组实现循环队列
- 循环数组实现队列
- 循环队列--数组实现
- 数组实现循环队列
- 数组实现循环队列
- 数组实现循环队列
- 队列----循环数组实现队列
- 用循环数组实现队列
- Java数组实现循环队列
- 用数组实现循环队列
- 静态数组实现循环队列
- 动态数组实现循环队列
- 循环队列的数组实现
- 静态数组实现循环队列
- 动态数组实现循环队列
- 循环队列—数组实现
- C 数组实现 循环队列
- 感兴趣区域检测技术
- 视图布局向上偏移的原因及解析
- iOS开发-进阶:NSArray倒序输出
- gem install sass 本地配置和淘宝源无效的解决办法
- Java 四种线程池的用法分析
- 循环队列--数组实现
- Kafka Java API示例
- 网络爬虫基本流程及开源爬虫
- Linux串口(serial、uart)驱动程序设计
- UE4初学笔记一
- JAX-WS与JAX-RS区别是什么
- 链表——数组实现
- 顶尖成功人士的12个强大习惯
- iOS开发-基础:UILabel字体加粗