欢迎来到天天文库
浏览记录
ID:38700142
大小:36.00 KB
页数:6页
时间:2019-06-17
《数据结构循环队列操作源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构循环队列操作头文件://循环队列类的定义templateclassCirQueue{private:T*base;//存储空间基址intfront;//队头指针intrear;//队尾指针intqueuesize;//队容量public:CirQueue(intm);//构造空队列~CirQueue();//析构函数,释放链队各结点的存储空间voidEnQueue(Tx);//元素x入队TDeQueue();//队顶元素出队TGetHead();//取队头元素TGetLast();//取队尾元素intQueueEmpty();//判队空intQueueFull()
2、;//判队满voidClearQueue();//清空队voidPointer();//返回队头、队尾位置voidQueueTranverse();//遍历队,输出队列元素};//循环队列类的实现templateCirQueue::CirQueue(intm)//构造函数{//创建一空队base=newT[m];if(base==NULL){cout<<"队创建失败,退出!"<CirQueue::~CirQueue()//析构函数{//释放队列所占
3、存储空间delete[]base;rear=0;front=0;queuesize=0;}templatevoidCirQueue::EnQueue(Tx){//元素入队if((rear+1)%queuesize==front)throw"上溢,无法入队";base[rear]=x;rear=(rear+1)%queuesize;}templateTCirQueue::DeQueue(){Tx;if(front==rear)throw"下溢,不能出队";x=base[front];front=(front+1)%queuesize;return
4、x;}templateTCirQueue::GetHead(){Tx;if(front==rear)throw"队空,队顶无元素";x=base[front];returnx;}templateTCirQueue::GetLast(){Tx;if(front==rear)throw"队空,队顶无元素";x=base[rear-1];returnx;}templateintCirQueue::QueueEmpty(){if(front==rear)return1;elsereturn0;}templatein
5、tCirQueue::QueueFull(){if((rear+1)%queuesize==front)return1;elsereturn0;}templatevoidCirQueue::ClearQueue(){front=rear=0;}templatevoidCirQueue::Pointer(){cout<<"队头front="<voidCirQueue::QueueTranverse(){inti=fron
6、t;while(i!=rear){cout<//cout,cin#include"process.h"//exit()#include"stdio.h"//EOF,NULL#include"iostream.h"#include"CirQueue.h"charpause;//主函数intmain(){inte;CirQueueq(10);system("cls");//执行系统命令cls,清屏intchoice;do{//显示主菜单cout
7、<<"1-元素入队";cout<<"2-元素出队";cout<<"3-取队头元素";cout<<"4-取队尾元素";cout<<"5-置队空";cout<<"6-测队空";cout<<"7-测队满";cout<<"8-显示首、尾位置";cout<<"9-输出队元素";cout<<"10-退出";cout<<"Enterchoice:";cin>>choice;switch(choice){ca
此文档下载收益归作者所有