循环队列
来源:互联网 发布:md5和国密算法 编辑:程序博客网 时间:2024/05/20 05:10
#include <stdio.h>#include <malloc.h>#define len 6struct queue{int * pbase;int front;int rear;};void init_queue(struct queue * pq){pq->pbase = (int *)malloc(sizeof(int) * len);pq->front = 0;pq->rear = 0;return;}bool is_full(struct queue * pq){if(pq->front == (pq->rear + 1)%len)return true;elsereturn false;} bool en_queue(struct queue * pq, int val)//入队 {if(is_full(pq)){printf("队列满,数组溢出\n");return false;} else{pq->pbase[pq->rear] = val;pq->rear = (pq->rear + 1)%len; return true;}}void traverse_queue(struct queue * pq){if(pq->front == pq->rear)printf("队列空\n");else{int i = pq->front;printf("循环队列数组为:"); while(i != pq->rear){printf("%d ", pq->pbase[i]);i = (i + 1)%len;}printf("\n");}return;}bool is_empty(struct queue * pq){if(pq->rear == pq->front)return true;else return false;}bool out_queue(struct queue * pq, int * pval){if(is_empty(pq)){printf("出队列失败\n");return false;}else{*pval = pq->pbase[pq->front];pq->front = (pq->front + 1)%len;printf("出队列的数是%d\n", *pval);return true;}}int main(void){queue q;init_queue(&q);en_queue(&q,1);en_queue(&q,2);en_queue(&q,3);en_queue(&q,4);en_queue(&q,5);traverse_queue(&q);int val;out_queue(&q, &val);traverse_queue(&q);en_queue(&q,6);traverse_queue(&q);free(q.pbase);en_queue(&q,7);return 0;}
0 0
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- 循环队列
- GCC命令详解
- SCI论文结构
- 科马先锋笔试+面试
- css读取本地背景图片
- 八重for循环解八皇后问题
- 循环队列
- 最重要的十年做什么才不浪费?
- 彩旗排列
- UITextView使用dataDetectorTypes属性时的问题
- STM32菜鸟成长记录---系统滴答定时器(systick)应用
- FB中国学徒今何在:开心网不开心 微博“萎”了
- 判断国籍
- 一般函数指针和类的成员函数指针
- php通过http调用验证码短信接口源码