循环顺序队列(初始化、入队、出队、判空)
来源:互联网 发布:类似redmine的软件 编辑:程序博客网 时间:2024/05/17 07:53
采用循环顺序方式存储队列,测试用例为:将0~9入队,然后打印输出,代码如下:
#define MAXQSIZE 100typedef struct{QElemType data[MAXQSIZE];int front,rear;}SqQueue;/* 初始化队列 */void InitiQueue(SqQueue &Q){Q.front = Q.rear = 0;}/* 判队列是否为空 */bool isEmpty(SqQueue &Q){if (Q.rear == Q.front) return TRUE;return FALSE;}/* 入队 */bool EnQueue(SqQueue &Q, QElemType &e){if ((Q.rear+1)%MAXQSIZE == Q.front){printf("队列已满,不能加入新元素!\n");return FALSE;}Q.data[Q.rear] = e;Q.rear = (Q.rear+1)%MAXQSIZE;return TRUE;}/* 出队 */bool DeQueue(SqQueue &Q, QElemType &e){if (isEmpty(Q)){printf("队列为空,,没有元素!\n");return FALSE;}e = Q.data[Q.front];Q.front = (Q.front+1)%MAXQSIZE;return TRUE;}int main(){SqQueue SQ;InitiQueue(SQ);printf("输入的队列元素值为:\n");for (int i=0; i<10; ++i) {EnQueue(SQ, i);printf(" %d ", i);}printf("\n打印队列元素值!\n");QElemType temp[10];for (int i=0; i<10; ++i) {DeQueue(SQ, temp[i]);printf(" %d ", temp[i]);}printf("\n");system("pause");return 0;}
0 0
- 循环顺序队列(初始化、入队、出队、判空)
- 顺序循环队列 初始化、出队、入队、取队头元素、判空
- 链队列、循环队列的实现(初始化、出队、入队、取队头元素、判空)
- 顺序队列初始化/入队/出队列/判断队空
- 链对列初始化/入队列/出队列/判空
- C语言实现循环队列基本操作(初始化、判断队空、入队、出队)
- 链队列的初始化、出队、入队、取队头元素、判空
- 链队列和循环队列的表示与实现-初始化、判空、求长、入队、出队、遍历、求头、求尾、清队、毁队
- (六)循环顺序队列的初始化、入队列、出队列
- 顺序循环队列基本操作(入队,出队,清空,销毁,历遍)
- 采用顺序存储实现循环队列的初始化、入队、出队操作。
- 循环队列的初始化、入队、出队等基本操作
- 【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)
- C语言实现顺序队列的初始化、入队、出队等操作(三)
- C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
- 使用CascadingDropDown实现级联式下拉框
- poj1154解题报告(dfs)
- Asp.Net Ajax的两种基本开发模式
- POJ 2823 Sliding Window(单调队列)
- Solaris10 为用户添加定时任务
- 循环顺序队列(初始化、入队、出队、判空)
- 系统过度导致Chrome图标丢失的恢复方法
- Web站点风格切换的实现
- MySQL-Cluster架构图文详解
- 数据预处理-PDB文件处理代码
- Java中Runnable和Thread的区别
- servlet的转发与重定向
- 自反+递归 实现评论的无限引用
- okhttp教程