文档介绍:实验四队列存储与操作实验目的1、 掌握队列顺序存储结构(循环队列)及实现及操作2、 掌握队列的链接存储结构及实现及操作实验内容1、 建立一个空顺序存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。2、 建立一个空链式存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。详细设计:1、顺序队列的实现:#include<iostreani>usingnainespcicestd;constintSize-100;typedefcharDataType;classCirQueue{public:CirQueue(){front=rear=0;//构造队列,初始化一个空的循环队列,front和rear指向}'CirQueue(){}voidEnQueue(DataTypex){if((rear+l)%Size==front){cout«,z队列已经满f,z«endl;return;rear=(rear+1)%Size;队尾指针在循环的意义I、加data[rear]二x;cout«x«,/已入队,?«endl;return;}DattiTypeGetQueue()取队头{if(isEmpty()){cout«,/队列为空z,«endl;return0;}inti;i=(front+l)%Size;returndata[i];}DataTypeDeQueue(){if(isEmpty0){cout<<"队列为空"<<endl;return0;}front=(front+l)%Size;队头指针在循环的意义下加returndata!front]:}intisEmpty()是否为空{if(front==rear){return1;}else{return0;}}private:DataTypedata[Size];intfront,rear:};intliiainOCirQueuea;intindex;DataTypetemp;do{c()ut〈〈"**********************************"〈〈endl;COUt«Z/l>cout«,z2>cout«,/3scout«,,Kcout«,z5x入队操作"<<endl;取队头操作z/«endl;出队操作,/«endl;判断队列是否为空"«endl:退出"<<endl;cin»index;if(index二二5){return0;}switch(index){case1:cout«〃请输入要入队的元#r«endl;cin»temp;a・EnQueue(temp);break;case2:temp=a・GetQueue();if(temp!=0){c()ut<<"队头的元素为"<<tei叩<<""<<endl;}break;case3:temp-ci・DeQueue();if(temp!-0){cout<<"出队的元素为"<<temp<<"*«endl;}break;case4:booltemp;temp=a・isFiiiptyO;if(temp){cout«,/空队"<<endl;)else(cout«,z非空队,?«endl;break;}while(index);return0;}2、链队列的实现:#include<iostreain>usingnamespace