好文档 - 专业文书写作范文服务资料分享网站

数据结构实验与实训教程[第3版]课件

天下 分享 时间: 加入收藏 我要投稿 点赞

目 录

第一部分 预备知识 ........................................................... 1

预备知识 ................................................................ 1 预备知识实验 ............................................................ 2 第二部分 基础实验 ........................................................... 4

实验1 线性表的基本操作 ................................................. 4 实验2 链表的基本操作 ................................................... 9 实验3 栈的基本操作 .................................................... 15 实验4 队列的基本操作 .................................................. 22 实验5 数组的基本操作 .................................................. 32 实验6 字符串的基本操作 ................................................ 36 实验7 二叉树的基本操作 ................................................ 41 实验8 树的遍历和哈夫曼树 .............................................. 46 实验9 图的基本操作 .................................................... 53 实验10 排 序 ......................................................... 59 实验11 查 找 ......................................................... 64 第三部分 课程设计实验 ...................................................... 69

实验1 航空客运订票系统 ................................................. 69 实验2 汉诺塔游戏程序 ................................................... 75 实验3 全屏幕编辑程序设计 ............................................... 79 实验4 旅游路线安排模拟系统 ............................................. 90 实验6 最小生成树kruskal算法 ............................................ 93

第一部分 预备知识

预备知识

例1.1

#include

int sumabc(int a, int b, int c) /* 求三个整数之和*/

{ int s; a=b+c;

s=a+b+c; return s; }

void displayLine(void)

{ printf(”----------------------\\n“); }

void main( )

{ int x,y, z ,sabc;

x=y=z=8;

display(); /* 画一条线 */ printf(“\\n sum=%d”,sumabc(x,y,z)); /* 在输出语句中直接调用函数sumabc( ) */

printf(“\\n mmm”,x,y,z); display();/* 画一条线 */ x=2; y=4; z=6;

sabc =sumabc(x, y, z); /* 在赋值语句中调用函数sumabc( ) */ printf(“\\n “ sum=%d”, sabc); printf(“\\n mmm”,x,y,z); display();/* 画一条线 */ }

例1.2

int sumabc(int *a, int b, int c) {

int s; *a=b+c;

s=*a+b+c; return s;

}

预备知识实验

int main()

{ //在main函数中调用上述声明的函数 int n; //记录个数

STUDENT stu[MAXSIZE;// 顺序存储结构,方法一 静态一维数组。 /*

顺序存储结构,方法二 动态一维数组,用malloc函数分配如下: STUDENT *stu;

stu=( STUDENT *) malloc(sizeof(STUDENT)* MAXSIZE);// 内存空间的分配 注意:分配空间可用malloc()函数, 释放空间用free()函数,如free(stu); */

int index;

printf(\请输入学生记录个数n=\”,&n); InputStu(stu, n); // 预先处理输入, 建表

while(1) // 永真循环,重复显示菜单, 直至退出 {

printf(\学生信息管理主菜单**********************\\n\ printf(\显示学生信息\\n\ printf(\查找学生信息\\n\ printf(\修改学生信息\\n\ printf(\添加学生信息\\n\ printf(\退出\\n\\n\

printf(\请选择(1~5): \ scanf(\

printf(\ switch(index) {

case 1: OutputStu(stu,n); break; case 2: SearchStu(stu,n); break; case 3: UpdateStu (stu,n); break; case 4: AppendStu (stu,&n); break; case 5: return 0; default: printf(\输入有误,请重新输入! \\n\

数据结构实验与实训教程[第3版]课件

目录第一部分预备知识...........................................................1预备知识................................................................1预备知识实验..........................
推荐度:
点击下载文档文档为doc格式
95ohd282qg81m9s40mcz3j4le87moy00j6x
领取福利

微信扫码领取福利

微信扫码分享