热门关键字:  听力密码  听力密码  新概念美语  单词密码  巧用听写练听力
图书信息

C++ STL基础案例教程

中国水利水电出版社
    【作 者】钟琪 著 【I S B N 】978-7-5170-4492-5 【责任编辑】张玉玲 【适用读者群】本专通用 【出版时间】2016-08-01 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】192 【千字数】224 【印 张】12 【定 价】28 【丛 书】普通高等教育“十三五”规划教材 【备注信息】
图书详情

    本书主要从案例化的角度介绍标准模板库(STL)泛型化应用开发技术的基础知识部分,共分7章:第1章讲述STL的发展和内容,并演示了利用CodeBlocks软件建立程序的方法;第2章对模板进行简介,主要介绍两类主要模板:函数模板和类模板;第3章是本书的核心章节,介绍了C++ STL提供的各种容器模板类;第4章专门讲述C++中的字符串,涉及C++标准程序库中的字符串处理类string;第5章介绍常见的几种函数对象及适配器的应用;第6章讲述连接容器和算法的迭代器使用;第7章讲述C++ STL中的算法,是C++ STL的核心内容。

    本书从应用出发,既有完整的语法,又有丰富的案例,让读者充分体会STL思维的巧妙之处。

    每个知识点均有示例进行讲解。在对每个知识点进行深入浅出的讲解后,基本上都会举例进行操作说明,让读者既有理论上的领悟,又有实践上的理解。

    每节或每章均有应用案例。对每节或每章,根据知识的体系结构均附有大量有趣的竞赛案例,使读者能够从中领悟到一些编程技巧,同时还可以根据这些案例进行研究、修改和扩展。

    内容的讲解遵循着由浅入深的原则进行。内容和示例的安排难点分散、前后连贯,并采用循序渐进、层次清晰的编写风格,便于学生理解和实现。

    C++ STL是标准的C++模板库,是算法和其他一些标准组件的集合,其中封装了数据结构中的绝大部分内容。运用C++ STL开发应用程序可以共享各种容器及算法,避免了低层次的各种容器及常用算法的反复开发,提高了开发效率。但是,目前市场上关于STL的书籍大多是译著或者倾向于一般性的介绍,学生在学习过程中缺乏实战性的理解与应用,所以学习起来就显得有些吃力。编者经过多年的实际教学,参阅多本书籍,结合学生在各种竞赛中的实战经验,把自己多年来的授课讲义利用案例化的形式呈现给读者。

    本书具有以下特点:

    (1)每个知识点均有示例进行讲解。在对每个知识点进行深入浅出的讲解后,基本上都会举例进行操作说明,让读者既有理论上的领悟,又有实践上的理解。

    (2)每节或每章均有应用案例。对每节或每章,根据知识的体系结构均附有大量有趣的竞赛案例,使读者能够从中领悟到一些编程技巧,同时还可以根据这些案例进行研究、修改和扩展。

    (3)内容的讲解遵循着由浅入深的原则进行。内容和示例的安排难点分散、前后连贯,并采用循序渐进、层次清晰的编写风格,便于学生理解和实现。

    在编写过程中,编者得到许多专家、同行以及中国水利水电出版社编辑的指导与帮助,得到“四川省卓越工程师教育培养计划—软件工程专业”(川教函〔2013〕750号)和“四川省教育综合项目—软件工程化人才培养”改革经费支持,在此一并表示感谢。

    最后,也是最重要的,我要感谢我的爱人何文孝。在编写过程中,每每遇到问题,我都会跟他进行积极讨论;每当遇到困难时,他都不断地鼓励我、帮助我,才使我得以完成这本书。

    由于时间仓促及作者水平有限,书中疏漏甚至错误之处在所难免,恳请广大读者批评指正,作者邮箱地址:45256796@qq.com。

    前言
    第1章 STL概述 1
    1.1 STL的发展 1
    1.2 STL的内容 2
    1.3 建立STL程序的方法 4
    第2章 模板 8
    2.1 函数模板 8
    2.2 类模板 10
    2.3 应用案例 13
    第3章 通用容器 17
    3.1 vector向量容器 17
    3.1.1 创建vector对象 17
    3.1.2 访问vector元素 19
    3.1.3 插入vector元素 20
    3.1.4 删除vector元素 21
    3.1.5 向量的大小和容量 23
    3.1.6 应用案例 25
    3.2 集合容器 27
    3.2.1 set与multiset 27
    3.2.2 集合的相关操作 28
    3.2.3 位集合bitset 33
    3.2.4 应用案例 37
    3.3 队列 42
    3.3.1 普通队列 42
    3.3.2 双端队列 43
    3.3.3 优先队列 47
    3.3.4 应用案例 52
    3.4 堆栈 58
    3.4.1 栈的操作 59
    3.4.2 应用案例 60
    3.5 映射 65
    3.5.1 map和multimap对象的创建 65
    3.5.2 map与multimap的相关操作 67
    3.5.3 应用案例 72
    3.6 链表 78
    3.6.1 创建list对象 78
    3.6.2 访问list元素 80
    3.6.3 插入list元素 81
    3.6.4 删除list元素 83
    3.6.5 其他操作 85
    3.6.6 应用案例 87
    第4章 字符串 94
    4.1 字符串的创建 94
    4.2 字符串的操作 95
    4.2.1 字符串的插入 95
    4.2.2 字符串的删除和替换 98
    4.2.3 字符串的查询 102
    4.2.4 其他重要函数 107
    4.3 应用案例 110
    第5章 函数对象 117
    5.1 函数对象概述 117
    5.2 函数对象的作用 119
    5.3 关系函数对象 124
    5.3.1 等于和不等于 125
    5.3.2 小于和小于等于 125
    5.3.3 大于和大于等于 126
    5.4 逻辑函数对象 127
    5.4.1 逻辑与 127
    5.4.2 逻辑或 127
    5.4.3 逻辑非 128
    5.5 算术函数对象 129
    5.5.1 四则运算函数对象 129
    5.5.2 求余和求反函数对换 130
    5.6 适配器 131
    5.6.1 绑定器 132
    5.6.2 取反器 133
    5.6.3 成员函数适配器 134
    第6章 迭代器 138
    6.1 使用迭代器 138
    6.2 迭代器类型 139
    6.2.1 输入型迭代器 139
    6.2.2 输出型迭代器 140
    6.2.3 前向迭代器 141
    6.2.4 双向迭代器 142
    6.2.5 随机存取迭代器 142
    6.3 迭代器配接器 144
    6.3.1 插入型迭代器 144
    6.3.2 流迭代器 145
    6.3.3 逆向迭代器 147
    6.4 迭代器辅助函数 148
    6.4.1 advance() 148
    6.4.2 distance() 149
    6.4.3 iter_swap() 150
    6.5 应用案例 151
    第7章 算法 154
    7.1 排序算法 154
    7.1.1 sort()算法与stable_sort()算法 154
    7.1.2 partial_sort()算法与partial_sort_copy()算法 155
    7.1.3 应用案例 157
    7.2 删除算法 159
    7.2.1 remove()算法和remove_if()算法 159
    7.2.2 remove_copy()算法和remove_copy_if算法 160
    7.2.3 unique()算法和unique_copy()算法 161
    7.3 有序集合算法 163
    7.3.1 集合的和(merge) 163
    7.3.2 集合的并(set_union) 163
    7.3.3 集合的交(set_intersection) 164
    7.3.4 集合的差(set_difference) 165
    7.3.5 集合的包含(includes) 166
    7.3.6 应用案例 168
    7.4 堆算法 169
    7.4.1 堆概述 170
    7.4.2 堆操作 170
    7.4.3 应用案例 172
    7.5 数值算法 175
    7.5.1 求和(accumulate) 175
    7.5.2 内积(inner_product) 176
    7.5.3 部分和(partial_sum) 178
    7.5.4 序列相邻差(adjacent_difference) 179
    7.5.5 应用案例 180
    参考文献 184





最新评论共有 1 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册