内容发布更新时间 : 2025/2/25 14:07:05星期一 下面是文章的全部内容请认真阅读。
数据结构实验指导书
《数据结构---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
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