第1章 实验指导思想和要求 1
1.1 实验的重要性 1
1.2 实验步骤 1
1.2.1 需求分析 1
1.2.2 概要设计 2
1.2.3 详细设计 2
1.2.4 编码实现和静态检查 2
1.2.5 上机调试 3
1.2.6 用户使用说明 3
1.2.7 测试结果 3
1.3 实验报告示例 3
第2章 Microsoft Visual C++ 6.0介绍 10
2.1 Visual C++ 6.0集成开发环境简介 10
2.2 上机调试步骤 12
2.2.1 建立控制台项目 12
2.2.2 添加头文件 13
2.2.3 添加主程序文件main.cpp 22
2.2.4 编译、连接和运行程序 24
2.2.5 调试程序 26
2.3 扩展项目操作的步骤 27
2.3.1 扩展基类操作 27
2.3.2 扩展测试头文件 28
2.3.3 扩展主程序文件main.cpp 29
2.3.4 重新编译、连接和运行程序 31
2.4 参考代码 32
第3章 线性表 36
3.1 顺序表 36
3.1.1 框架操作 37
3.1.2 基本操作 38
3.1.3 综合实验 41
3.2 非循环单链表 48
3.2.1 框架操作 48
3.2.2 基本操作 50
3.2.3 综合实验 54
3.3 循环单链表 58
3.3.1 框架操作 58
3.3.2 基本操作 59
3.3.3 综合实验 61
3.4 循环双链表 62
3.4.1 框架操作 62
3.4.2 基本操作 64
实验习题 67
第4章 栈 68
4.1 顺序栈 68
4.1.1 框架操作 69
4.1.2 基本操作 69
4.1.3 综合实验 72
4.2 链栈 76
4.2.1 框架操作 76
4.2.2 基本操作 77
实验习题 79
第5章 队列 81
5.1 循环顺序队列 81
5.1.1 框架操作 81
5.1.2 基本操作 82
5.1.3 综合实验 85
5.2 非循环链队 87
5.2.1 框架操作 87
5.2.2 基本操作 87
5.2.3 综合实验 91
实验习题 94
第6章 顺序串 95
6.1 框架操作 95
6.2 基本操作 97
6.3 综合实验 102
实验习题 106
第7章 多维数组 107
7.1 稀疏矩阵(采用三元组表顺序存储) 107
7.1.1 框架操作 108
7.1.2 基本操作 109
7.2 稀疏矩阵(采用十字链表存储) 112
7.2.1 框架操作 112
7.2.2 基本操作 114
实验习题 115
第8章 广义表 116
8.1 框架操作 116
8.2 基本操作 117
实验习题 120
第9章 树 121
9.1 二叉树 121
9.1.1 框架操作 122
9.1.2 基本操作 123
9.2 中序穿线二叉树 127
9.2.1 框架操作 128
9.2.2 基本操作 129
9.3 哈夫曼树 130
实验习题 134
第10章 图 135
10.1 图(采用邻接矩阵存储) 135
10.1.1 框架操作 135
10.1.2 基本操作 136
10.1.3 综合实验 138
10.2 图(采用邻接表存储) 141
10.2.1 框架操作 142
10.2.2 基本操作 143
10.2.3 综合实验 145
实验习题 147
第11章 排序 148
11.1 插入排序 149
11.2 交换排序 151
11.3 选择排序 152
11.4 归并排序 154
11.5 分配排序 155
11.6 排序的应用 156
11.6.1 框架操作 156
11.6.2 基本操作 158
实验习题 161
第12章 查找 162
12.1 顺序查找 162
12.2 折半查找 163
12.3 二叉排序树 164
12.4 平衡二叉排序树 167
12.5 B-树 169
12.6 哈希表 170
12.7 查找的综合应用 171
12.7.1 框架操作 172
12.7.2 基本操作 172
实验习题 175
附录A 习题参考答案 176
参考文献 209