《数据结构》实验书.pdfVIP

  • 0
  • 0
  • 约4.51万字
  • 约 35页
  • 2026-03-10 发布于山东
  • 举报

目录

实验一线性表基本操作的编程实现

实验二堆栈或队列基本操作的编程实现49

实验四二维数组基本操作的编程实现

实验五二叉树基操作的编程实现

实验六图基本操作的编程实现

(特别提示:程序设计包含两个方面的错误。其一是错误,其二是能错误。为了提高学

生的编程和能力,本指导书给出的程序代码并的两种错误。并且也不保证程序的完整性,有

一些语句已经故意删除,就是要求学生自己编制完成,这样才能达到我们的要求。希望大家

以自己所学高级语言的基本功和点为基础,不要过于依赖给出的参考代码,这样才能有所进

步。如果学生能够根据要求完全自己编制,那就不好了。)

《数据结构》实验指导书

实验一线性表基本操作的编程实现

【实验目的】

线性表基本操作的编程实现

要求:

线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删

除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以

在顺序结构或链表结分主要功能,也可以用菜单进行管理完成大部分功能。还鼓励学生利用

基本操作进行一些更实际的应用型程序设计。

【实验性质】

【实验内容】

把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。建议实

现键盘输入数据以实现程序的通据的函数。

【注意事项】

【思考问题】

1.线性表的顺序存储和链表存储的差异?优缺点分析?

2.那些操作引发了数据的移动?

3.算法的时间效率是如何体现的?

4.链表的指针是如何后移的?如何加强程序的健壮性?

【参考代码】

(一)利用顺序表完成一个班级学生课程成绩的简单管理

1、预定义以及顺序表结构类型的定义

(1)#defineListSize//根据需要自己设定一个班级能够容纳的最大学生

(2)typedefstructStu

{

intnum;//学生的学号

charname[10];//学生的姓名

floatwuli;//物理成绩

floatshuxue;//数学成绩

floatyingyu;//英语成绩

}STUDENT;//存放单个学生信息的结构体类型

typedefstructList

{

stu[ListSize];//存放学生的数组定义,静态分配空间

intlength;//记录班级实际学生个数

}LIST;//存放班级学生信息的顺序表类型

1

《数据结构》实验指导书

2、建立班级的学生信息

voidlistcreate(LIST*Li,intm)//m为该班级的实际人数

{

inti;

Li-length=0;

for(i=0;im;i++)//输入m个学生的所有信息

{

printf(pleaseinputthe%dthstudentsinformation:\n,i+1);

printf(num=);

scanf(%d,);//输入第i个学生的学号

printf(name=);

scanf(%s,);//输入第i个学生的姓名

printf(wuli=);

scanf(%f,);//输入第i个学生的物理成绩

printf(shuxue=);

scanf(%f,

文档评论(0)

1亿VIP精品文档

相关文档