2012《数据结构》上机实验报告 链表

西华数学与计算机学院上机实践报告

课程名称:数据结构 指导教师:唐剑梅 上机实践名称: 上机实践编号:1 年级: 2011 姓名:蒋俊 学

312011080611118

上机实践成绩:

上机实践日期:2012-11-6

上机实践时间:8:00-9:30

一、实验目的

1. 了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。

2. 重点是线性表的基本操作在两种存储结构上的实现;其中以链表的操作为侧重点;并进一步学习程序设计方法。

3. 掌握栈这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。

4. 掌握队列这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。 5. 了解和掌握递归程序设计的基本原理和方法。

6. 掌握使用 C++面向对象的程序设计技术设计数据结构源程序的方法。

二、实验内容

1. 熟悉前面的【程序示例2】,按照约瑟夫问题的方法2,试着不设头结点改写原来的程序,上机调试运行。

2. 用链表建立通讯录。通讯录内容有:姓名、通讯地址、电话号码。 要求:(1)通讯录按姓名项的字母顺序排列; (2)能查找通讯录中某人的信息;

[提示] 用链表来存放这个通讯录,一个人的信息作为一个结点。成链的过程可以这样考虑:先把头结点后面的第一个数据元素结点作为链中的首结点,也是末结点。从第二个数据开始逐一作为“工作结点”,需从链表的首结点开始比较,如果“工作结点”的数据元素的姓名字符串比链中的“当前结点”的数据元素的姓名字符串小,就插在其前面。否则,再看后面是否还有结点,若没有结点了就插在其后面成为末结点;若后面还有结点,再与后面的结点逐一比较处理。

3. 写一个程序,将输入的十进制数据M 转换为八进制数据M8,将其调试通过。在此基础上修改程序,实现十进制数据M 向N 进制(N为2或8或16)的转换。(注:辅助栈的实现可使用【程序示例3】)

三、实验环境

硬件: 微型计算机P4

软件: Windows XP+Microsoft Visual C++6.0

四、程序源码及调试过程 第一题

1) 代码

#include <iostream.h>

struct NodeType // 结点的结构定义

{ int num; // 编号子域 int psw; //密码域

2012《数据结构》上机实验报告 链表相关文档

最新文档

返回顶部