实验三 栈的基本操作

更新时间:2023-09-16 10:13:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 栈和队列的基本操作

一、实验目的

1、掌握栈的顺序存储结构。 2、掌握栈特点,即先进后出原则。 3、掌握栈基本操作实现方法。

4、熟练掌握顺序队、链队的存储原理;

5、熟练掌握顺序队、链队的Java语言实现方法; 6、掌握队列空、队满的判断条件;

7、了解循环队列与普通队列实现上的不同及其解决方法。

二、实现内容

[问题描述] 1、栈

首先,创建栈,并置top指针为-1,栈处于空的状态。

第二,入栈。先判断栈是否是满栈。满栈的话,不做入栈操作,未满的话,做入栈操作。 第三,出栈。先判断栈是否为空,如果是空栈的话,不能做出栈操作,非空的话做出栈操作。 2、队列

首先,创建空队,置队首指针,队尾指针为0和-1

第二,入队操作。判断队列是否已满,队满的话,不能入队,未满的话,做入队操作。 第三,出队操作。判断队是否为空,如果空队的话,不能出队,未空的话,做处队操作。

[基本要求]用顺序存储结构实现存储

[实现提示]顺序存储结构是随机存储结构,直接数组来存储相关数据,用下标来表示栈顶,数据存储从下标0开始存储数据。

[程序实现]

参考书本相关程序实例

三、实验要求

1、通过建立一个简单的菜单来实现进栈、出栈、显示当前栈内元素和退除操作,所有进栈元素通过键盘获取;

2、通过建立一个简单的菜单来实现入队列、出队列、显示当前队列元素和退出操作,所有入队元素通过键盘获取;

3、进一步思考,如果将第二题改成循环队列的情况,代码将如何变动;

四、思考题

1、入栈操作和出栈操作的算法过程是如何的?数据输出和top指针的变化的顺序在出栈入栈过程中有何不同。

2、出队入队操作的算法过程是如何的?循环队列和顺序队的操作有何不同?

本文来源:https://www.bwwdw.com/article/885h.html

Top