循环顺序队列
来源:互联网 发布:宁远县优化办 编辑:程序博客网 时间:2024/05/20 18:47
#include <iostream>using namespace std;#define MAX 4typedef struct queuearr{ int arr[MAX]; int cap; int size; int head; int tail;}QUEUE;QUEUE* create_queue(){ QUEUE* queue = new QUEUE; queue->cap = MAX; queue->size = 0; queue->head = 0; queue->tail = 0;}void queue_push(QUEUE* queue, int data){ if(queue->cap == queue->tail) { //cout<<"has been full"<<endl; queue->tail = 0; } queue->size++; queue->arr[queue->tail++] =data;}int queue_pop(QUEUE* queue){ if(queue->cap ==queue->head) { //cout<<"has been empty"<<endl; queue->head = 0; } queue->size--; return queue->arr[queue->head++];}bool queue_full(QUEUE* queue){ if(queue->size==queue->cap) { return true; } else { return false; }}bool queue_empty(QUEUE* queue){ if(queue->size ==0) { return true; } else { return false; }}void destroy_queue(QUEUE* queue){ delete queue;}int main(){ QUEUE* queue = create_queue(); for(int i=10;i<=40;i+=10) { if(!queue_full(queue)) { queue_push(queue,i); } } for(int i=0; i<2;i++) { if(!queue_empty(queue)) { cout<<queue_pop(queue)<<" "; } } cout<<endl; for(int i=50;i<=60;i+=10) { if(!queue_full(queue)) { queue_push(queue,i); } } for(int i=0; i<4;i++) { if(!queue_empty(queue)) { cout<<queue_pop(queue)<<" "; } } cout<<endl; return 0;}
0 0
- SeqQueue--顺序循环队列
- 顺序循环队列
- 顺序循环队列
- 循环顺序队列
- C++循环顺序队列
- 循环队列-顺序表
- 循环顺序队列
- _DataStructure_C_Impl:顺序循环队列
- C++循环顺序队列
- 顺序循环队列
- 顺序循环队列
- 循环顺序队列
- 顺序循环队列
- 循环队列顺序储存
- 循环队列---顺序存储
- 6.顺序循环队列
- 循环队列(顺序队列)
- 循环队列(顺序队列)
- MySQL 视图的作用
- 关于eclipse中testNG的安装与入门
- cdoj-1423【思维&&排列组合】
- 黎活明给程序员的忠告
- Linux中的likely()和unlikely()
- 循环顺序队列
- intent.ACTION_CALL拨不出去电话的奇特问题~~~
- 06_python_练习题——查找一年之中第几天
- Oracle 语句执行过程
- MySQL 储存过程-原理、语法、函数详细说明
- CentOS下yum安装、源的选择及介绍。 yum command not found
- leetcode:3. Longest Substring Without Repeating Characters
- linux和mac下配置seetaface
- 欢迎使用CSDN-markdown编辑器