文档介绍:- -
- -可修编.
一.实验项目名称
循环队列和链式队列的创建
二、实验目的
1、掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,
2、队列顺序存储结构、链式存储结构和循环队列的实现,以便在实际问题背景下灵活应用。
三、实验内容
1.链式队列的实现和运算
2.循环队列的实现和运算
四、主要仪器设备及耗材
VC++
五.程序算法
(1) 循环队列操作的算法
1>进队列
Void enqueue (seqqueue &q, elemtype x)
{
if ((+1)%maxsize = = )
cout<<”overflow”;
else {
=(+1)%maxsize; //编号加1或循环回第一个单元
[]=x;
}
}
2>出队列
Void dlqueue(seqqueue &q )
{
if (= =) cout<<”underflow”;
else
=(+1)%maxsize;
}
3>取对头元素
elemtype gethead(seqqueue q )
- -
- -可修编.
{ if (= =)
{ cout<<”underflow”;
return NULL;}
else return [(+1)%maxsize];
//front指向队头前一个位置
}
4>判队列空否
int empty(seqqueue q )
{
if (= =) reurn 1;
else return 0;
}
(2).链队列操作的算法
1>.链队列上的初始化
void INIQUEUE( linkqueue &s)
{ link *p;
p=new link;
p->next=NULL; //p是结构体指针类型,用->
=p; //s是结构体变量,用.
=p; //头尾指针都指向头结点
}