数据结构实验报告—队列.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

《算法与数据结构》课程

教师评阅意见:

签名:年月日

实验成绩:

一、实验目的

掌握队列的存储结构及进队/出队等操作的实现。

二、实验内容及要求

1.实现队列的一种存储结构。

2.实现队列的相关操作。

3.利用队列的操作特点,借助进队与出队操作完成打印二项式系数的任务。

三、系统分析

(1)数据方面:该队列数据元素类型采用整型,在此基础上进行队列的一些基

本操作,应用体现在打印二项式系数即打印杨辉三角形。

(2)功能方面:

1.进队操作:若队列不满,则将元素x进入队列。

2.出队操作:若队列不空,则退出队头元素x并由函数返回true,否则返

回false。

3.获取队头元素:若队列不为空,则函数返回true及队头元素的值,否则

返回false。

4.判断队列是否为空、判断队列是否满。

5.计算队列中元素个数:直接返回队列中元素个数。

6.清空队列内容:队头指针和队尾指针置0。

7.打印杨辉三角形前n行数字。

四、系统设计

(1)设计的主要思路

队列得基于数组得存储表示亦称为顺序队列,是利用一个一维数组作为队列

元素的存储结构,并且设置两个指针front和rear,分别指示队列的队头和队尾

位置。每当添加一个新元素时,先将新元素添加到rear所指位置,再让队尾指针

rear进1。每当退出队头元素,应当先把front所指位置元素记录下来,再让队头

指针进1,指示下一队头元素位置,最后把记录下来的元素值返回。

但当队头指针front==rear,队列为空;而当rear==maxSize时,队列满,如

果再加入新元素,就会产生“溢出”。但这种“溢出”可能时假溢出,因为在数

组的前端可能还有空位置。为了能够充分地使用数组中的存储空间,把数组的前

端和后端连接起来,形成一个环形表,即把存储队列元素的表从逻辑上看成一个

环,成为循环队列。循环队列的首尾相接,当队头指针front和队尾指针rear进

到maxSize-1后,再前进一个位置就自动到0.这可以利用除法取余的运算实现。

(2)数据结构的设计

队列的定义是一种限定存取位置的线性表。它只允许在表的一端插入,在另

一端删除。允许插入的一端叫做队尾,允许删除的一端叫做队头。最先进入队列

的元素最先退出队列,队列这种特性叫做先进先出。

(3)基本操作的设计

Front

Front

Rear

30

3

0A

Rear

21

1

2

空队列

A进队

对头指针进1:front=(front+1)%maxSize;

队尾指针进1:rear=(rear+1)%maxSize;

队列初始化:front=rear=0;

循环队列的队头指针和队尾指针初始化时都设置为0:front=rear=0.在队尾插入

新元素和删除队头元素时,两个指针都按顺时针方向进1.当它们进到maxSize-1

时,并不表示表的终结,只要有需要,利用%运算可以前进到数组的0号位置。

五、编程环境与实验步骤

(1)编程环境

文档评论(0)

177****7360 + 关注
官方认证
内容提供者

中专学生

认证主体宁夏三科果农牧科技有限公司
IP属地宁夏
统一社会信用代码/组织机构代码
91640500MABW4P8P13

1亿VIP精品文档

相关文档