欢迎来到天天文库
浏览记录
ID:34039444
大小:81.89 KB
页数:9页
时间:2019-03-03
《队列存储与操作实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四队列存储与操作一.实验目的1、掌握队列顺序存储结构(循环队列)及实现及操作2、掌握队列的链接存储结构及实现及操作二.实验内容1、建立一个空顺序存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。2、建立一个空链式存储结构队列;对已建立的队列进行插入、删除、取队头元素等基本操作。三.详细设计:1、顺序队列的实现:#includeusingntimespticestd;constintSize=100;typedefcharDataType;classCirQueue{public:Ci
2、rQueue(){Front二rear二0://构造队列,初始化一个空的循环队列,fronl和rear指向)^CirQueue(){)voidEnQueue(DataTypex){if((rear+l)%Size~front){cout«z,队列己经满了〃〈〈cndl;return;rear=(rear+1)%Size;//队尾指针在循环的意义下加data[rear]=x;cout«x«,/已入队/z«endl;return;)DataTypeGetQueue()//取队头{if(isEmpty()){cout«z,队列为
3、空,,«endl;return0;)inti;i=(front+l)%Sizo;returndataliI:)DataTypeDeQueue(){if(isEmpty()){cout<<"队列为空"<4、;intmain()CirQueuea;intindex;DataTypetemp;docout«z,K入队操作z,«endl:cout<<"2、取队头操作"<5、元索"«endl;cin»temp;日・EnQueue(temp);break;case2:tcmp=a・GotQueueO;if(temp!=0){cout<<"队头的元素为"<6、;}while(index);return0;}2、链队列的实现:#include〈iostream>usingnamespacestd;constintSizc=100;typedefcharDataType;structNode{DataTypedata;Node*next;};classLinkQueue{public:LinkQueue(){autohead=newNode;head->next=M'LL;front=rear=head;}^LinkQueue(){}voidEnQueue(DataTypex){a7、utos=newNode;s->clata=x;?为航的?结d点?ss->next=NL'LL;//巾®?请?一?个?数籬据Y域rear->next=s;rear=s;}DataTypeGctQucuc()//取?队d头?{if(isEmpty())cout<ncxt->data;}DataTypeDeQueue(){if(isEmpty()){cout<<"队6列为a空?,,<8、暂丫存?队6头?元&索?DataTypex;〃用?于?暂丫存?队6头?数範据Yp=front->next;x=p->clata;front->next=p->next;if(p->next—NULL){rear=front;}deletep;returnx;}intisEmptyO//是?否?为a空?{
4、;intmain()CirQueuea;intindex;DataTypetemp;docout«z,K入队操作z,«endl:cout<<"2、取队头操作"<5、元索"«endl;cin»temp;日・EnQueue(temp);break;case2:tcmp=a・GotQueueO;if(temp!=0){cout<<"队头的元素为"<6、;}while(index);return0;}2、链队列的实现:#include〈iostream>usingnamespacestd;constintSizc=100;typedefcharDataType;structNode{DataTypedata;Node*next;};classLinkQueue{public:LinkQueue(){autohead=newNode;head->next=M'LL;front=rear=head;}^LinkQueue(){}voidEnQueue(DataTypex){a7、utos=newNode;s->clata=x;?为航的?结d点?ss->next=NL'LL;//巾®?请?一?个?数籬据Y域rear->next=s;rear=s;}DataTypeGctQucuc()//取?队d头?{if(isEmpty())cout<ncxt->data;}DataTypeDeQueue(){if(isEmpty()){cout<<"队6列为a空?,,<8、暂丫存?队6头?元&索?DataTypex;〃用?于?暂丫存?队6头?数範据Yp=front->next;x=p->clata;front->next=p->next;if(p->next—NULL){rear=front;}deletep;returnx;}intisEmptyO//是?否?为a空?{
5、元索"«endl;cin»temp;日・EnQueue(temp);break;case2:tcmp=a・GotQueueO;if(temp!=0){cout<<"队头的元素为"<6、;}while(index);return0;}2、链队列的实现:#include〈iostream>usingnamespacestd;constintSizc=100;typedefcharDataType;structNode{DataTypedata;Node*next;};classLinkQueue{public:LinkQueue(){autohead=newNode;head->next=M'LL;front=rear=head;}^LinkQueue(){}voidEnQueue(DataTypex){a7、utos=newNode;s->clata=x;?为航的?结d点?ss->next=NL'LL;//巾®?请?一?个?数籬据Y域rear->next=s;rear=s;}DataTypeGctQucuc()//取?队d头?{if(isEmpty())cout<ncxt->data;}DataTypeDeQueue(){if(isEmpty()){cout<<"队6列为a空?,,<8、暂丫存?队6头?元&索?DataTypex;〃用?于?暂丫存?队6头?数範据Yp=front->next;x=p->clata;front->next=p->next;if(p->next—NULL){rear=front;}deletep;returnx;}intisEmptyO//是?否?为a空?{
6、;}while(index);return0;}2、链队列的实现:#include〈iostream>usingnamespacestd;constintSizc=100;typedefcharDataType;structNode{DataTypedata;Node*next;};classLinkQueue{public:LinkQueue(){autohead=newNode;head->next=M'LL;front=rear=head;}^LinkQueue(){}voidEnQueue(DataTypex){a
7、utos=newNode;s->clata=x;?为航的?结d点?ss->next=NL'LL;//巾®?请?一?个?数籬据Y域rear->next=s;rear=s;}DataTypeGctQucuc()//取?队d头?{if(isEmpty())cout<ncxt->data;}DataTypeDeQueue(){if(isEmpty()){cout<<"队6列为a空?,,<8、暂丫存?队6头?元&索?DataTypex;〃用?于?暂丫存?队6头?数範据Yp=front->next;x=p->clata;front->next=p->next;if(p->next—NULL){rear=front;}deletep;returnx;}intisEmptyO//是?否?为a空?{
8、暂丫存?队6头?元&索?DataTypex;〃用?于?暂丫存?队6头?数範据Yp=front->next;x=p->clata;front->next=p->next;if(p->next—NULL){rear=front;}deletep;returnx;}intisEmptyO//是?否?为a空?{
此文档下载收益归作者所有