队列操作实验报告实用word文档 12页Word下载.docx
- 文档编号:13303768
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:10
- 大小:13.15KB
队列操作实验报告实用word文档 12页Word下载.docx
《队列操作实验报告实用word文档 12页Word下载.docx》由会员分享,可在线阅读,更多相关《队列操作实验报告实用word文档 12页Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
【思考问题】
【实验小结】(总结本次实验的重难点及心得、体会、收获)
【附录-实验代码】
篇二:
队列存储与操作实验报告
实验四队列存储与操作
一.实验目的
1、掌握队列顺序存储结构(循环队列)及实现及操作
2、掌握队列的链接存储结构及实现及操作
二.实验内容
1、建立一个空顺序存储结构队列;
对已建立的队列进行插入、删除、取队头元素等基本操作。
2、建立一个空链式存储结构队列;
三、详细设计:
1、顺序队列的实现:
#include<
iostream>
usingnamespacestd;
constintSize=100;
typedefcharDataType;
classCirQueue
{
public:
CirQueue(){}~CirQueue(){}voidEnQueue(DataTypex){if((rear+1)%Size==front){}cout<
<
"
队列已经满了"
endl;
return;
front=rear=0;
//构造队列,初始化一个空的循环队列,front和rear指向
};
}data[rear]=x;
cout<
x<
已入队"
DataTypeGetQueue()//取队头{}DataTypeDeQueue(){}intisEmpty()//是否为空{}DataTypedata[Size];
intfront,rear;
if(front==rear){}else{}return0;
return1;
if(isEmpty()){}front=(front+1)%Size;
//队头指针在循环的意义下加returndata[front];
队列为空"
return0;
if(isEmpty()){}inti;
i=(front+1)%Size;
returndata[i];
private:
intmain()
intindex;
DataTypetemp;
do{cout<
**********************************"
1、入队操作"
2、取队头操作"
3、出队操作"
4、判断队列是否为空"
5、退出"
cin>
>
index;
if(index==5){return0;
}switch(index){case1:
cout<
请输入要入队的元素"
temp;
a.EnQueue(temp);
break;
temp=a.GetQueue();
if(temp!
=0){}cout<
队头的元素为"
temp<
"
case2:
temp=a.DeQueue();
出队的元素为"
case3:
booltemp;
temp=a.isEmpty();
if(temp){cout<
空队"
非空队"
}else{case4:
}}break;
}while(index);
2、链队列的实现:
#include<
usingnamespacestd;
typedefcharDataType;
structNode
classLinkQueue{
LinkQueue(){}~LinkQueue(){}voidEnQueue(DataTypex){}DataTypeGetQueue()//取?
队ó
头?
{if(isEmpty()){}cout<
列为a空?
autos=newNode;
s->
data=x;
next=NULL;
//申Θ?
请?
一?
个?
数簓据Y域?
为aX的?
结á
点?
srear->
next=s;
rear=s;
autohead=newNode;
head->
front=rear=head;
DataTypedata;
Node*next;
}returnfront->
next->
data;
DataTypeDeQueue(){}intisEmpty()//是?
否?
为a空?
{}Node*front,*rear;
//队ó
和í
尾2指?
针?
if(isEmpty()){}autop=newNode;
//用?
于?
暂Y存?
元a素?
DataTypex;
数簓据Yp=front->
next;
x=p->
front->
next=p->
if(p->
next==NULL){}deletep;
returnx;
rear=front;
intmain(){
LinkQueuea;
intindex;
1、¢入?
操ù
作痢?
篇三:
队列存储与操作实验报告
一、实验目的
1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活运用。
二、实验内容
1.顺序队列的实现和运算
2.链式队列的实现和运算
3.循环队列的实现和运
CirQueue()
front=rear=0;
//构造队列,初,front和rear指向
}
~CirQueue(){}
voidEnQueue(DataTypex)
if((rear+1)%Size==front)
return;
rear=(rear+1)%Size;
//队尾指针在循环的意义下加
data[rear]=x;
DataTypeGetQueue()//取队头
if(isEmpty())
return0;
inti;
i=(front+1)%Size;
returndata[i];
DataTypeDeQueue()
front=(front+1)%Size;
//队头指针在循环的意义下加
returndata[front];
intisEmpty()//是否为空
if(front==rear)
return1;
else{
private:
DataTypedata[Size];
intfront,rear;
CirQueuea;
DataTypetemp;
do
cin>
if(index==5){return0;
switch(index)
case1:
a.EnQueue(temp);
break;
temp=a.GetQueue();
if(temp!
=0)
case3:
temp=a.DeQueue();
case4:
booltemp;
temp=a.isEmpty();
if(temp)
}else{
}while(index);
2、循环队列的实现:
malloc.h>
stdio.h>
#defineOK1
#defineERROR0
typedefintStatus;
//Status是函数的类型,其值是函数结果状态代码,如OK等typedefintQElemType;
#defineMAXQSIZE100//最大队列长度(对于循环队列,最大队列长度要减1)
typedefstruct
QElemType*base;
//初始化的动态分配存储空间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 队列操作实验报告实用word文档 12页 队列 操作 实验 报告 实用 word 文档 12