基于数组的队列实现
来源:互联网 发布:qq空间模拟登录 php 编辑:程序博客网 时间:2024/06/05 01:14
//--------------Queue.h------------------#include<iostream>#ifndef QUEUE#define QUEUEconst int QUEUE_CAPACITY=128;typedef int QueueElement;class Queue{public:Queue();bool empty() const;void enqueue(const QueueElement & value);void display(ostream & out) const;QueueElement front() const;void dequeue();private:int myFront, myBack;QueueElement myArray[QUEUE_CAPACITY];};#endif
//-------------Queue.cpp-------------------#include<iostream>using namespace std;#include"Queue.h"Queue::Queue():myFront(0),myBack(0) {}bool Queue::empty() const{return (myFront==myBack);}void Queue::enqueue(const QueueElement & value){int newBack=(myBack+1)%QUEUE_CAPACITY;if(newBack!=myFront){myArray[newBack]=value;myBack=newBack;}else{cerr<<"***The queue is full---can't add new value***\n";exit(1);}}void Queue::display(ostream & out) const{for(int i=myFront;i!=myBack;i=(i+1)%QUEUE_CAPACITY)out<<myArray[i]<<" ";cout<<endl;}QueueElement Queue::front() const{if(!empty()) return (myArray[myFront]);else{cerr<<"***The queue is empty--returning a garbage value***\n";QueueElement garbage;return garbage;}}void Queue::dequeue(){if(!empty()){myFront=(myFront+1)%QUEUE_CAPACITY;}else{cerr<<"***The queue is empty,can't remove a value.***\n";}}
//----------------Queue_main.cpp-------------------#include<iostream>using namespace std;#include"Queue.h"int main(){Queue q;cout<<"The new is empty? "<<boolalpha<<q.empty()<<endl;cout<<"Add 233 to the queue."<<endl;q.enqueue(233);cout<<"The new is empty? "<<boolalpha<<q.empty()<<endl;cout<<"Output the front of queue? "; q.front();cout<<"Delete the front of queue "; q.dequeue(); cout<<"The new is empty? "<<boolalpha<<q.empty()<<endl;return 0;}//会闪退?
阅读全文
0 0
- 基于数组的队列实现
- 基于数组的队列实现
- 基于数组的队列实现(C语言)
- java 基于数组实现的队列
- 简单队列的实现(基于数组)
- 基于动态数组的队列实现
- 基于数组和节点方式的队列的实现
- 笔记七:基于数组的循环队列的实现
- 基于数组和链表的队列实现
- 基于数组的循环队列(C++模板实现)
- 数据结构之——基于数组实现的循环队列
- 基于数组的循环队列
- 基于数组的循环队列
- 基于数组的优先级队列
- 基于数组的队列Queue
- 基于数组的队列操作
- 队列的数组实现
- 队列的数组实现
- PsSetCreateProcessNotifyRoutine妙用
- Stuts2入门案例
- 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等 方法:移动(move()),设置速度(setSpeed(int speed)),设置体积(s
- 写一个生活中常见的死锁
- 为什么使用maven
- 基于数组的队列实现
- Struts2初步案例
- codeforces 867 E Buy Low Sell High(优先队列)
- DL multi GPUs problem
- 含有不同正整数的数组是否可以分成两个和相等的数组JS算法实现
- 错失VIPKID,俞敏洪组团来教育领域“淘宝”
- 在一线城市,有多少人正在“被创业”?
- 比较大小
- ResNet残差网络的理解