1 / 18
文档名称:

数据结构队列实验报告.doc

格式:doc   大小:366KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构队列实验报告.doc

上传人:aibuaiwo1318 2018/4/21 文件大小:366 KB

下载得到文件列表

数据结构队列实验报告.doc

文档介绍

文档介绍:《数据结构》实验报告
院系应用科技学院专业电子信息工程
姓名学号
10 级电信班 2011 年 11 月 11日
:
(1)掌握链接存储队列的进队和出队等基本操作。
(2)掌握环行队列的进队和出队等基本操作。
(3)加深对队列结构的理解,逐步培养解决实际问题的编程能力。
:
(1)编写链接队列的基本操作函数。
typedef struct QNode
{
int data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct{
QueuePtr front; //队头指针
QueuePtr rear; //队尾指针
}LinkQueue;
①进队操作 EnQueue(LinkQueue &Q, int e)
②出队操作,队空DeQueue(LinkQueue &Q, int &e)
③输出队列中元素 0utputQueue(LinkQueue Q)
(2)调用上述函数实现下列操作,操作步骤如下。
①调用进队函数建立一个队列。
②读取队列中的第一个元素。
③从队列中删除元素。
④输出队列中的所有元素。
注意每完成一个步骤就必须及时输出队列中元素,以便观察操作结果。
(3)编写环型队列的基本操作函数。
#define MAXSIZE 100 //最大队列长度,最多只能插入MAXSIZE-1个数据
typedef struct
{
int *base; //初始化的动态分配存储空间
int front; //头指针,若队列不为空,指向队列头元素
int rear; //为指针,若队列不为空,指向队列尾元素的下一个位置
}SqQueue;
①进队操作,返回1为队满 EnQueue(SqQueue &Q, int e)
②出队操作,返回1为队空 DeQueue(SqQueue &Q, int &e)
③输出队列中元素 OutputQueue(SqQueue &Q)
(4)调用上述函数实现下列操作,操作步骤如下:
①调用进队函数建立一个队列。
②读取队列中的第一个元素。
③从队列中删除元素。
④输出队列中的所有元素。
注意每完成一个步骤就必须及时输出队列中元素,以便观察操作结果。
:
//链接队列
(1)建立一个队列的功能
:输入若干正整数,用空格分隔,用0来表示结束。
:按输入顺序输出。
:输入5 2 3 6 9 0后,输出5 2 3 6 9
(2)取队头元素功能
:5
:5 2 3 6 9
(3)删除队头元素功能
:5
:2 3 6 9
(4)输出队列所有元素功能
输出队列所有元素是:2 3 6 9
(5)结束功能
输入0结束程序!
//环型队列
(1)初始化队列
(2)建立一个队列的功能
:输入若干正整数,用空格分隔,用0来表示结束。
:按输入顺序输出。
:输入11 12 13 14 15 0后,输出11 12 13 14 15
(3)取队头元素功能
:11
:11 12 13 14 15
(4)删除队头元素功能
:11
:12 13 14 15
(5)输出队列所有元素功能
输出队列所有元素是:12 13 14 15
(6)进队功能
:16

(7)结束功能
输入0结束程序!
:
//链接队列
#include <>
#include <>
typedef struct Queue
{
int data;
struct Queue *next;
}Queue,*QueuePtr;
typedef struct
{
QueuePtr front; //对头指针
QueuePtr rear; //队尾指针
}LinkQueue;
/***************构造队列**************/
void InitQueu(LinkQueue &Q)
{
==(QueuePtr)malloc(sizeof(Queue));
->next=NULL;
printf("构造成功!\n");
}
/***************进队函数**********