桂林电子科技大学信息科技学院数据结构实验指导书讲诉 下载本文

内容发布更新时间 : 2024/5/20 22:40:44星期一 下面是文章的全部内容请认真阅读。

数据结构实验指导书

《数据结构---C++实现》

实验指导书 1

数据结构实验指导书

第1部分 C++基本知识

各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学发展过程中,早期数据结构教材大都采用PASCAL语言为描述工具,后来出现了采用C语言为描述工具的教材版本、至今又出现了采用C++语言为描述工具的多种教材版本。本教实验指导书是为已经学习过C++语言的学生而编写。编写实验指导书目的为了配合理论教学。程序要求在C++ Builder开发环境之下调试运行,采用面向对象方法进行设计。典型的数据结构被设计成为类(class),典型算法设计成为类的函数成员,然后在主函数中声明创建类对象,根据实际需要调用重要的算法。

由于C++的使用具有一定的难度,为了同学更好的学习数据结构自身的知识内容,减轻描述工具所带来的困难,这里针对数据结构上机实验所必须的C++基本知识(结构体、类等等)做补充介绍。

一、

源程序组成

#include …. //编译预处理 …… …… class A {……….. }; // 类成员函数定义; ……. int main() {……………. } 编译预处理等

类的相关程序编码

主函数程序代码

这部分内容详细参见本指导书的第3部分的程序实例。

二、结构体及运用

数据结构课程所研究的问题均运用到“结构体”和“类”。在C++语言中结构体和函数又是理解和掌握“类”的语法基础。定义结构体的一般格式:

struct 结构体类型名

{ 类型名1 变量名1; //数据子域

类型名2 变量名2;…… 类型名n 变量名n; }

其中struct是保留字。结构体类型名由用户自己命名。在使用时必须声明一个具体的结构体类型的变量,声明创建一个结构体变量的方法是:

2

数据结构实验指导书

结构体类型名 结构体变量名;

一个结构体中可以包含多个数据子域。数据子域的类型名一般指基本数据类型(int char 等),也可是已经定义的另一结构体名。数据子域变量名可以是简单变量,也可以是数组。它们也可以称为结构体的数据成员,它们的访问控制具有‘公有’属性。

1. 通过“结构体变量名.数据子域” 可以访问数据子域。 // 设计Student结构体,在主程序中运用。

#include #include #include

struct Student //定义结构体Student

{ long num; // 学号 int x; // 成绩 char name[10]; // 姓名 } int main( )

{ Student s1; //声明创建一个结构体变量s1 //为s1的数据子域提供数据

或者使用键盘输入 s1.num=1001 ; cin >> s1.num; cin >> s1.x; s1. x=83; cin >> s1.name; strcpy( s1.name, “ 李 明”);

//输出结构体变量s1 的内容

cout<< “ 姓名: ”<< s1.name <

}

2. 设计一维数组,每个数组元素是Student结构体类型,通过以下语句段可以说明结构体数组的一般用法:通过“结构体数组名[下标].数据子域”访问数据域。

Student a[5]; //声明创建一个结构体数组a for(int i=0, i<5, i++)

{ cout<<“学号:”; cin>>a[i].num; //输出数组元素a[i]的学号域

cout<<“姓名:”; cin>> a[i].name; //输出数组元素a[i]的姓名域

cout<<“成绩:”; cin>>a[i].x; //输出数组元素a[i]的成绩域

}

以上是关于结构体的基本概念和简单运用。

三、 类的基本概念及运用

类的是面向对象程序的基本单位。类是由数据成员和相关的函数成员组成。从面向对象的角度考虑“学生”这个类,它不仅包括“学生”的一般属性:学号、姓名、成绩等等,还

3