数组实现队列 C++实现(2)
来源:互联网 发布:php就业班54期 编辑:程序博客网 时间:2024/04/30 17:58
/** File name : LinkLiQt.cpp* Function : 数组实现队列 C++实现 数组a[0] 一端为head 当 head==tail时为空 tail总指向 队尾元素的下一位置* Created on : 2016年4月25日* Author : beijiwei@qq.com* Copyright : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。任何单位和个人不经本人允许不得用于商业用途*/#include <cstdio>#include <iostream>using namespace std;#define MAX 10typedef int Elem_t;typedef struct Aqueue {Elem_t data[MAX];int head;int tail;}Aqueue;void queue_init(Aqueue & Q);void queue_clear(Aqueue & Q);bool queue_is_empty(Aqueue & Q);bool queue_in(Aqueue & Q, Elem_t elem);bool queue_out(Aqueue & Q, Elem_t &elem);int queue_get_length(Aqueue & Q);bool queue_get_head(Aqueue & Q, Elem_t &elem);int main(int argc, char** argv){Aqueue aq;Elem_t elem;queue_init(aq);cout << "queue is empty ? " << queue_is_empty(aq) << endl;for (int i = 0; i < 11; i++) {queue_in(aq, i + 10);}cout << "The length of queue is " << queue_get_length(aq) << endl;queue_get_head(aq, elem);cout << "The head of queue is " << elem<< endl;for (int i = 0; i < 11; i++) {queue_out(aq, elem);if (i == 3) {cout << "queue is empty ? " << queue_is_empty(aq) << endl;cout << "The length of queue is " << queue_get_length(aq) << endl;cout << "The head of queue is " << elem << endl;}}return 0;}void queue_init(Aqueue & Q){Q.head = 0;Q.tail = 0;}void queue_clear(Aqueue & Q){Q.head = 0;Q.tail = 0;}bool queue_get_head(Aqueue & Q, Elem_t &elem){if (Q.head == Q.tail) {cout << "queue is empty can not get" << endl;return false;}elem = Q.data[Q.head];return true;}bool queue_is_empty(Aqueue & Q){return (Q.head == Q.tail) ? true : false;}bool queue_in(Aqueue & Q, Elem_t elem){if (Q.tail == MAX) {cout << "can not in, queue is full" << endl;return false;}Q.data[Q.tail++] = elem;return true;}bool queue_out(Aqueue & Q, Elem_t &elem){if (Q.head == Q.tail) {cout << "queue is empty can not out" << endl;return false;}elem = Q.data[Q.head++];return true;}int queue_get_length(Aqueue & Q){return Q.tail -Q.head;}
0 0
- C队列 数组实现
- C语言数组实现队列
- C 数组实现 循环队列
- 用数组实现队列(C实现)
- 基于数组的队列实现(C语言)
- 静态数组实现队列(C语言)
- C语言队列实现( 动态数组 )
- 利用数组实现双端队列(C++)
- 用数组去实现队列(c)
- 数组实现队列(C语言版)
- 数据结构--队列之C数组实现
- 用数组实现队列(C语言版)
- 静态数组实现循环队列 c语言
- 使用数组实现队列(C语言)
- C语言数组实现循环队列
- 用数组去实现队列(c)
- C语言数据结构-顺序队列-数组实现
- 使用数组实现队列(C语言)
- 搭建基于Windows的React Native 开发环境(For Android)
- postgresql空和null的区别
- Linux下实时查看tomcat日志
- 也谈底部导航和抽屉导航
- 父类引用指向子类对象
- 数组实现队列 C++实现(2)
- 关于Android ScrollView嵌套WebView冲突问题
- [转]关于I2C和SPI总线协议
- 接口好抽象类
- 那些著名或非著名的iOS面试题(上)
- php缓存技术总结
- Android的存储系统的简要分析
- Maven Assembly插件介绍
- tomcat内存设置