循环队列
来源:互联网 发布:python自动化性能测试 编辑:程序博客网 时间:2024/06/16 19:54
//循环队列#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 empty_queue(QUEUE *);//是否为空 int main(){ QUEUE Q; int val; 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); traverse_queue(&Q); if(out_queue(&Q,&val)) { printf("out queue success!"); }else { printf("out queue false!"); } traverse_queue(&Q);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; } return;}bool empty_queue(QUEUE *pQ){if(pQ->front==pQ->rear)return true;elsereturn false;} bool out_queue(QUEUE *pQ,int *pVal){if(empty_queue(pQ)){return false;}else{ *pVal=pQ->pBase[pQ->front]; pQ->front=(pQ->front+1)%6;}}
0 0
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- Xcodebuild使用方法
- 本科项目——基于STM32的室内温度控制系统
- gcc 编译时的 error trying to exec 'cc1plus': execvp: 没有那个文件或目录问题
- Android 的窗口管理系统 (View, Canvas, WindowManager)
- 第17章 二进制计数器递增代码
- 循环队列
- android 中的一些小case
- 第三章 迭代器与trait编程技巧
- Camera driver&V4L2驱动架构介绍
- IOS自动打包
- 括号匹配
- 纪录:[NSNull null]的一个用法
- 数据的逻辑结构和物理结构(存储结构)
- POJ 1185 炮兵阵地