数组实现循环队列
2012-11-11 20:18
603 查看
#include<iostream> using namespace std; void tip(){ cout<<endl<<endl<<"1 进队"<<endl; cout<<"2 出队"<<endl; cout<<"3 当前队列长度"<<endl; cout<<"4 队首元素值"<<endl; } class circle_queue{ private: int* Array; int size; int front; int rear; int count; public: circle_queue(int mysize=100000){ Array=new int[mysize]; size=mysize; front=rear=0; count=0; } ~circle_queue(){delete []Array;} bool push(int item){ if((rear+1)%size==front)return false; if(count==0){ Array[rear]=item; count++; return true;} else {rear=(rear+1)%size; Array[rear]=item; count++; return true; } } bool pop(int& item){ if(count==0)return false; item=Array[front]; front=(front+1)%size; count--; return true; } bool frontvalue(int &item){ if(count==0)return false; item=Array[front]; return true; } int length(){ return count; } }; int main(){ circle_queue* my_queue=new circle_queue(4); int value; int choice; tip(); while(cin>>choice){ if(choice<1||choice>4){cout<<"不是有效命令!"<<endl;tip();continue;} if(choice==1){ system("cls"); cout<<"请输入要入队的元素值(仅限整型值)"<<endl; cin>>value; my_queue->push(value); cout<<"已经将"<<value<<"入队"<<endl; tip(); } if(choice==2){ system("cls"); int item; my_queue->pop(item); cout<<"出队的元素:"<<item<<endl; tip(); } if(choice==3){ system("cls"); cout<<"当前队列长度:"<<my_queue->length()<<endl; tip(); } if(choice==4){ system("cls"); int item; my_queue->frontvalue(item); cout<<"队首元素值:"<<item<<endl; tip(); } } }
相关文章推荐
- Java用循环数组实现队列
- 数据结构(java语言描述)-- 队列的循环数组实现
- 数据结构之循环数组实现队列
- 数据结构 -- 队列 & 循环队列 -- 数组实现
- 用循环数组实现队列
- 队列的理解(利用数组实现循环队列)
- c语言数组方式实现静态循环队列
- 数组实现的简单循环队列
- 队列--基于简单循环数组实现(Java)
- 基于数组的循环队列(C++模板实现)
- 静态数组实现循环队列
- 数据结构之——基于数组实现的循环队列
- 基于Java数组实现循环队列的两种方法小结
- 动态数组实现循环队列
- 数组实现循环队列 C++实现
- 数据结构(一) -- 循环队列数组实现
- 《大话数据结构》读书笔记之 队列抽象数据类型(数组实现循环队列)
- 20162319 补博客——用数组实现循环队列 06.第六周
- javascript中利用数组实现的循环队列代码
- java实现 用数组实现循环队列