3.10 Qt Creator 常用快捷键 …………………………………………………… 56
练习 ……………………………………………………………………………… 56
第 4 章 线性表、查找和排序的综合应用……………………………… 58
4.1 案例简介 …………………………………………………………………… 58
4.1.1 任务描述……………………………………………………………… 58
4.1.2 实现思路……………………………………………………………… 58
4.2 知识要点 …………………………………………………………………… 59
4.2.1 线性表知识解析……………………………………………………… 59
4.2.2 用 list 实现学生信息表 ……………………………………………… 61
4.3 代码实现 …………………………………………………………………… 63
4.3.1 全局变量和公共函数………………………………………………… 64
4.3.2 学生类的实现………………………………………………………… 65
4.3.3 系统主界面…………………………………………………………… 68
4.3.4 加载信息……………………………………………………………… 77
4.3.5 添加学生数据………………………………………………………… 78
4.3.6 删除信息……………………………………………………………… 81
4.3.7 修改功能的实现……………………………………………………… 81
4.3.8 查询功能的实现……………………………………………………… 81
4.3.9 排序 ………………………………………………………………… 85
4.3.10 统计功能的实现 …………………………………………………… 89
4.3.11 保存 ………………………………………………………………… 93
练习 ……………………………………………………………………………… 93
第 5 章 栈和队列………………………………………………………… 95
5.1 案例简介 …………………………………………………………………… 95
5.1.1 任务描述……………………………………………………………… 95
5.1.2 实现思路……………………………………………………………… 95
5.2 知识要点 …………………………………………………………………… 96
5.2.1 栈知识解析…………………………………………………………… 96
5.2.2 队列知识解析………………………………………………………… 99
5.3 实现代码 …………………………………………………………………… 100
5.3.1 优先级的实现………………………………………………………… 100
5.3.2 操作符数字化………………………………………………………… 101
5.3.3 显示表达式…………………………………………………………… 101
5.3.4 计算器上各个按钮的实现代码……………………………………… 101
5.3.5 表达式求值计算……………………………………………………… 105
5.4 运行结果 …………………………………………………………………… 107
练习 ……………………………………………………………………………… 107
第 6 章 树和二叉树…………………………………………………… 109
6.1 案例简介 …………………………………………………………………… 109
6.1.1 任务描述……………………………………………………………… 109
6.1.2 实现思路……………………………………………………………… 109
6.2 知识要点 …………………………………………………………………… 110
6.2.1 构造哈夫曼树算法…………………………………………………… 110
6.2.2 哈夫曼编码和译码…………………………………………………… 110
6.3 实现代码 …………………………………………………………………… 113
6.3.1 界面设计……………………………………………………………… 113
6.3.2 哈夫曼树的存储结构和类定义……………………………………… 113
6.3.3 功能模块实现………………………………………………………… 116
6.4 测试分析 …………………………………………………………………… 123
练习 ……………………………………………………………………………… 123
第 7 章 图……………………………………………………………… 125
7.1 案例简介 …………………………………………………………………… 125
7.1.1 任务描述……………………………………………………………… 125
7.1.2 实现思路……………………………………………………………… 126
7.2 知识要点 …………………………………………………………………… 126
7.2.1 基本概念……………………………………………………………… 126
7.2.2 深度优先搜索………………………………………………………… 127
7.2.3 弗洛伊德算法………………………………………………………… 129
7.3 代码实现 …………………………………………………………………… 131
7.3.1 实现 Graph 类………………………………………………………… 132
7.3.2 mainwindow.h 中的代码 …………………………………………… 135
7.3.3 mainwindow.cpp 中的代码…………………………………………… 135
7.4 运行结果 …………………………………………………………………… 140
练习 ……………………………………………………………………………… 142
附录 设计报告要求…………………………………………………… 144
参考文献………………………………………………………………… 145