
| 运用STL开发应用程序可以共享各种容器及算法,避免了低层次的各种容器及常用算法的反复开发。在代码一致性、升级、维护等方面都有很大的优越性。因此,学习STL是进行深层次开发C++应用程序的重要途径。本书全面系统地介绍了STL泛型应用开发技术。第1章至第10章属于基础知识部分,包括模板、迭代器、输入输出流、字符串、函数对象、通用容器、非变异算法、变异算法、排序等基础知识。第11章属于集成应用部分,包括STL算法的综合应用、在数据结构中的应用、在Visual C++上的应用等内容。本书主要从应用出发,每一章都包含大量的实例,并有详细的结果分析,旨在使读者从中学会STL各个知识体系的应用方法,体会STL思维的巧妙之处。对某些稍难一些的示例,对其设计思想也做了详细的说明。 本书可作为专业技术人员及大专院校计算机专业的本科生、研究生进行深入学习C++泛型编程的教材或参考书。对编制Java泛型程序也有一定的指导意义。 |
| 第1章 STL概述 1.1 STL历史 1 1.2 STL内容 2 1.3 建立STL程序的方法 3 1.4 命名空间 5 第2章 模板 2.1 通过模板初识STL思维 7 2.2 traits技术 10 2.3 模板与操作符重载 14 第3章 迭代器 3.1 什么是迭代器 19 3.2 迭代器类位置 24 3.3 进一步理解迭代器 27 3.4 STL迭代器 28 第4章 输入输出流 4.1 标准输入输出流 33 4.1.1 插入符与提取符 33 4.1.2 get系列函数 35 4.1.3 处理流错误 36 4.2 文件输入输出流 38 4.2.1 文件打 38 4.2.2 文件关闭 38 4.2.3 文件读写 38 4.3 字符串输入输出流 43 4.4 综合示例 44 第5章 字符串 5.1 字符串创建及初始化 49 5.1.1 基本创建方式 49 5.1.2 迭代器创建方式 50 5.2 字符串操作 50 5.2.1 插入操作 50 5.2.2 替换操作 51 5.3 字符串查询 52 5.4 字符串中删除字符 54 5.5 字符串比较 54 5.6 综合示例 55 第6章 函数对象 6.1 简介 61 6.1.1 为何引入函数对象 61 6.1.2 函数对象分类 62 6.1.3 简单示例 63 6.2 一元函数 64 6.3 二元函数 66 6.4 系统函数对象 68 6.4.1 算术类函数对象 69 6.4.2 关系运算类函数对象 72 6.4.3 逻辑运算类函数对象 74 6.4.4 函数适配器 74 6.5 综合示例 79 第7章 通用容器 7.1 概述 83 7.1.1 容器分类 83 7.1.2 容器共性 84 7.1.3 容器比较 85 7.2 vector容器 85 7.2.1 概述 85 7.2.2 初始化示例 86 7.2.3 增加及获得元素示例 88 7.2.4 修改元素示例 92 7.2.5 删除元素示例 93 7.2.6 进一步理解vector 94 7.2.7 综合操作示例 95 7.3 deque容器 99 7.3.1 常用函数 99 7.3.2 基本操作示例 100 7.3.3 综合操作示例 102 7.4 list容器 104 7.4.1 常用函数 105 7.4.2 基本操作示例 106 7.4.3 综合操作示例 109 7.5 队列和堆栈 115 7.5.1 常用函数 115 7.5.2 容器配接器 116 7.5.3 基本操作示例 117 7.5.4 综合操作示例 120 7.6 优先队列 123 7.6.1 常用函数 123 7.6.2 基本操作示例 124 7.6.3 综合操作示例 125 7.7 bitset容器 128 7.7.1 常用函数 128 7.7.2 基本操作示例 129 7.7.3 综合操作示例 132 7.8 集合 135 7.8.1 常用函数 135 7.8.2 基本操作示例 136 7.8.3 综合操作示例 139 7.9 映射 142 7.9.1 常用函数 142 7.9.2 基本操作示例 143 7.9.3 综合操作示例 145 7.10 再论迭代器 150 第8章 非变异算法 8.1 循环 155 8.1.1 主要函数 155 8.1.2 示例分析 156 8.2 查询 160 8.2.1 主要函数 160 8.2.2 示例分析 163 8.3 计数 171 8.3.1 主要函数 171 8.3.2 示例分析 172 8.4 比较 174 8.4.1 主要函数 174 8.4.2 示例分析 175 第9章 变异算法 9.1 复制 180 9.1.1 主要函数 180 9.1.2 示例分析 181 9.2 交换 182 9.2.1 主要函数 182 9.2.2 示例分析 183 9.3 变换 184 9.3.1 主要函数 184 9.3.2 示例分析 185 9.4 替换 188 9.4.1 主要函数 188 9.4.2 示例分析 190 9.5 填充 191 9.5.1 主要函数 191 9.5.2 示例分析 192 9.6 生成 193 9.6.1 主要函数 193 9.6.2 示例分析 194 9.7 删除 199 9.7.1 主要函数 199 9.7.2 示例分析 200 9.8 唯一 204 9.8.1 主要函数 204 9.8.2 示例分析 205 9.9 反转 207 9.9.1 主要函数 207 9.9.2 示例分析 208 9.10 环移 209 9.10.1 主要函数 209 9.10.2 示例分析 210 9.11 随机 212 8.11.1 主要函数 212 9.11.2 示例分析 212 9.12 划分 215 9.12.1 主要函数 215 9.12.2 示例分析 216 第10章 排序及相关操作 10.1 排序 220 10.1.1 主要函数 220 10.1.2 示例分析 222 10.2 第n个元素 227 10.2.1 主要函数 227 10.2.2 示例分析 227 10.3 二分检索 228 10.3.1 主要函数 228 10.3.2 示例分析 230 10.4 归并 232 10.4.1 主要函数 232 10.4.2 示例分析 233 10.5 有序结构上的集合操作 234 10.5.1 主要函数 234 10.5.2 示例分析 236 10.6 堆操作 241 10.6.1 主要函数 241 10.6.2 示例分析 242 10.7 最大和最小 245 10.7.1 主要函数 245 10.7.2 示例分析 247 10.8 词典比较 247 10.8.1 主要函数 247 10.8.2 示例分析 248 10.9 排列生成器 249 10.9.1 主要函数 249 10.9.2 示例分析 250 10.10 数值算法 251 10.10.1 主要函数 251 10.10.2 示例分析 253 10.11 自定义STL风格函数 254 第11章 STL应用 11.1 算法的综合运用 257 11.1.1 在多态中的应用 257 11.1.2 set、map应用 261 11.1.3 ini文件解析 264 11.1.4 综合查询 269 11.2 在数据结构中的应用 280 11.2.1 全排列应用 280 11.2.2 频度问题 283 11.2.3 最长公共子序列问题 285 11.2.4 大整型数加法、乘法类 288 11.2.5 矩阵问题 293 11.2.6 回溯问题 296 11.2.7 字符串表达式 300 11.2.8 图 306 11.3 在Visual C++中应用 316 11.3.1 Scribble绘图程序 317 11.3.2 数据库操作程序 324 11.3.3 文本文件排序、查询 337 11.3.4 基于配置文件的查询程序 346 11.3.5 STL 动态链接库 360 参考文献 |
商品评论(0条)