【C语言】循环队列
来源:互联网 发布:刷销量软件 编辑:程序博客网 时间:2024/06/05 05:05
/* * 循环队列 * */typedef struct { int arr[SIZE]; int head; int tail; int num; //用来表示队列里的有效数字个数} queue;//初始化void queue_init(queue *p_queue) { p_queue->head = 0; p_queue->tail = 0; p_queue->num = 0;}//清空void queue_deinit(queue *p_queue) { p_queue->head = 0; p_queue->tail = 0; p_queue->num = 0;}//统计个数int queue_size(const queue *p_queue) { return p_queue->num; }//判断空int queue_empty(const queue *p_queue) { return !(p_queue->num);}//判断满int queue_full(const queue *p_queue) { return p_queue->num >=SIZE;}//向队列放数字int queue_push(queue *p_queue, int val) { if(queue_full(p_queue)) { return 0; } else { p_queue->arr[p_queue->tail] = val; p_queue->tail++; p_queue->tail %= SIZE;//如果满了,求余为0,没有满则还是原来的 p_queue->num; return 1; }}//从队列获取数字,删除int queue_pop(queue *p_queue, int *p_num) { if(queue_empty(p_queue)) { return 0; } else { *p_num = p_queue->arr[p_queue->head]; p_queue->head++; p_queue->head %= SIZE; p_queue->num--; return 1; }}//从队列获得数字,不会从队列里删除int queue_front(const queue *p_queue, int *p_num) { if(queue_empty(p_queue)) { return 0; } else { *p_num = p_queue->arr[p_queue->head]; return 1; }}
阅读全文
0 0
- C语言循环队列
- c语言:循环队列
- 循环队列 - C语言
- C语言 循环队列
- 【C语言】循环队列
- 循环队列C语言实现
- C语言_循环队列
- 循环队列(c语言)
- c语言实现循环队列
- C语言实现循环队列
- C语言实现循环队列
- C语言实现循环队列
- 循环队列 C语言数据结构
- C语言队列之循环队列
- c语言写的循环队列
- c语言写的循环队列
- 数据结构(C语言)实现循环队列
- 循环队列的实现(C语言)
- Android studio项目编译期字节码插入实践Note
- 如何使用vs在调试时查看内存
- SQL语言
- 内核是如何管理进程的
- com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:112) [DUBBO
- 【C语言】循环队列
- 最长无重复字符子串
- Java面试题之五
- 历史总是会重复的-AROON(阿隆指标)策略
- XML Schema是什么?
- 2017/8/7
- 全面理解Javascript中Promise
- java 基础之 I/O流 其三 (文本输入输出)
- 欢迎使用CSDN-markdown编辑器