数据结构——14 循环队列
来源:互联网 发布:1hhh域名升级访问 编辑:程序博客网 时间:2024/05/18 09:31
队列——循环队列
数组描述中,每次出队后,将其余元素往前移动一个位置,让a[0]始终是队的第一个元素
#include <iostream>using namespace std;class queue{public:queue():maxSize(5),size(0) //构造函数初始化队列里元素的个数为0,并初始化队列可以装5个元素{a=new int[maxSize];} ~queue(); //析构函数删除队列int dequeue(); //出队void enqueue(int n); //进对private: int size; //队列里元素的个数int maxSize; //队列能装下的最大元素个数int *a;};queue::~queue() { delete[] a; //析构,释放内存 }void queue::enqueue(int n) //入队操作,增加一个元素放在队尾{ if(size==maxSize) //如果数组装不下了,就增加10个位置{maxSize+=10;int *p=new int[maxSize]; for(int i=0;i<=size;i++)p[i]=a[i];delete[] a;a=p;}a[size++]=n;}int queue::dequeue() //出对操作,返回出队列第一个元素,即数组的a[0]{ int out; //返回值if(size) //用size判断是否栈里还有元素{out=a[0];for(int i=0;i<size-1;i++)a[i]=a[i+1];size--; return out;}else{cout<<"队列已经为空!"<<endl;exit(0);}}int main(){ queue que; cout<<"The enqueue of que are: "; for(int i=1;i<=20;i++) { cout<<i<<" "; que.enqueue(i); } cout<<endl; cout<<"The dequeue of que are: "; for(i=1;i<=15;i++) cout<<que.dequeue()<<" ";cout<<endl; return 0;}
0 0
- 数据结构—循环队列
- 数据结构——14 循环队列
- 数据结构——循环队列
- 数据结构——队列及循环队列
- 数据结构实验七——循环队列
- 数据结构与算法——循环队列
- 数据结构——循环队列(c++)
- 数据结构——循环队列的学习
- 经典的数据结构——循环队列
- C语言数据结构——循环队列
- 数据结构与算法之—循环队列
- 数据结构— 数组循环队列C++
- 计蒜客 数据结构 队列——循环队列 C++
- 【数据结构】队列-循环队列
- 【数据结构-队列】循环队列
- 数据结构(队列):循环队列
- 数据结构Java实现——②队列--->队列的“奇葩”一循环顺序队列
- 数据结构——栈与队列(顺序栈、链栈、循环队列、链队列)
- 车牌识别项目——当前技术(1)
- Linux用户身份切换
- Laravel 的 Homestead 开发环境部署
- 数据归一化和两种常用的归一化方法
- Epoll模型详解
- 数据结构——14 循环队列
- C#正则表达式的学习
- select、poll、epoll之间的区别总结[整理]
- POJ 2502 Subway 最短路 Floyd
- poll&&epoll实现分析(一)——poll实现
- Java生成对象的四种方法
- php 比较运算符'=='的使用技巧
- 数据结构实验之二叉树一:树的同构
- 杭电5480Conturbatio