数据结构之C/C++实现循环队列
2018-07-12 23:51
585 查看
#include <iostream> using namespace std; //2018年7月11日01:10:51 循环队列 int MaxSize = 15; typedef struct { int data[15]; int front, rear; }SqQueue; //初始化循环队列 void InitQueue(SqQueue &Q){ Q.front = Q.rear = 0; } //判断队空 bool IsEmpty(SqQueue &Q){ if(Q.front==Q.rear==0){ return true; }else { return false; } } //入队一个元素 bool EnQueue(SqQueue &Q, int x){ //判断队是否满 if(Q.front==(Q.rear+1)%MaxSize){ cout << "队列已经满了"; return false; } Q.data[Q.rear] = x; Q.rear = (Q.rear+1)%MaxSize; return true; } //出队一个元素 bool DeQueue(SqQueue &Q, int &x){ //判断队列是否为空 if(Q.front==Q.rear){ cout <<"队列为空"; return false; } x = Q.data[Q.front]; Q.front = (Q.front+1)%MaxSize; return true; } bool GetHead(SqQueue &Q, int &x){ //判断队列是否为空 if(Q.front==Q.rear){ cout <<"队列为空"<<endl; return false; } x = Q.data[Q.front]; return true; } int main(){ SqQueue Q; InitQueue(Q); //cout <<IsEmpty(Q); int i = 0; //入队0 1 2 3 while(i<MaxSize-1){ EnQueue(Q, i); //cout <<i<<"----入队成功"<<endl; i++; } cout <<"----------------------------------------"<<endl; //出队 0 1 2 3 4 int x=-1; int j = 0; while(j<MaxSize-1){ DeQueue(Q, x); cout <<"x="<<x<<"---出队成功"<<endl; j++; } return 0; }
相关文章推荐
- C++数据结构之实现循环顺序队列
- 数据结构基础——循环队列的C++实现
- 软件设计师教程 数据结构之循环队列的实现 (C/C++语言)
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- 数据结构之循环队列(面向对象思想c++实现)
- 数据结构基础(7) --循环队列的设计与实现
- C# 数据结构基础-实现循环队列
- 数据结构基础之循环队列C语言实现
- 看数据结构写代码(16)顺序队列的实现(循环队列)
- C/C++ 数据结构之 队列的实现!
- 数据结构图文解析之:队列详解与C++模板实现
- 数据结构图文解析之:队列详解与C++模板实现
- 五、数据结构基础之循环队列C语言实现
- 数据结构(C实现)------- 顺序队列(循环队列之少用一个存储空间实现) .
- 数据结构之循环队列c语言实现
- 数据结构(循环队列子系统:c实现)
- 数据结构(5):循环队列——队列的顺序表示和实现
- 数据结构.循环队列(C语言实现)
- [150422][C++]数据结构复习——队列实现源码
- 数据结构基础(7) --循环队列的设计与实现