C++ STL基礎(chǔ)案例教程

-
【作 者】鐘琪 著
【I S B N 】978-7-5170-4492-5
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時(shí)間】2016-08-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】192
【千字?jǐn)?shù)】224
【印 張】12
【定 價(jià)】¥28
【叢 書】普通高等教育“十三五”規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要從案例化的角度介紹標(biāo)準(zhǔn)模板庫(STL)泛型化應(yīng)用開發(fā)技術(shù)的基礎(chǔ)知識部分,共分7章:第1章講述STL的發(fā)展和內(nèi)容,并演示了利用CodeBlocks軟件建立程序的方法;第2章對模板進(jìn)行簡介,主要介紹兩類主要模板:函數(shù)模板和類模板;第3章是本書的核心章節(jié),介紹了C++ STL提供的各種容器模板類;第4章專門講述C++中的字符串,涉及C++標(biāo)準(zhǔn)程序庫中的字符串處理類string;第5章介紹常見的幾種函數(shù)對象及適配器的應(yīng)用;第6章講述連接容器和算法的迭代器使用;第7章講述C++ STL中的算法,是C++ STL的核心內(nèi)容。
本書從應(yīng)用出發(fā),既有完整的語法,又有豐富的案例,讓讀者充分體會STL思維的巧妙之處。
每個(gè)知識點(diǎn)均有示例進(jìn)行講解。在對每個(gè)知識點(diǎn)進(jìn)行深入淺出的講解后,基本上都會舉例進(jìn)行操作說明,讓讀者既有理論上的領(lǐng)悟,又有實(shí)踐上的理解。
每節(jié)或每章均有應(yīng)用案例。對每節(jié)或每章,根據(jù)知識的體系結(jié)構(gòu)均附有大量有趣的競賽案例,使讀者能夠從中領(lǐng)悟到一些編程技巧,同時(shí)還可以根據(jù)這些案例進(jìn)行研究、修改和擴(kuò)展。
內(nèi)容的講解遵循著由淺入深的原則進(jìn)行。內(nèi)容和示例的安排難點(diǎn)分散、前后連貫,并采用循序漸進(jìn)、層次清晰的編寫風(fēng)格,便于學(xué)生理解和實(shí)現(xiàn)。
C++ STL是標(biāo)準(zhǔn)的C++模板庫,是算法和其他一些標(biāo)準(zhǔn)組件的集合,其中封裝了數(shù)據(jù)結(jié)構(gòu)中的絕大部分內(nèi)容。運(yùn)用C++ STL開發(fā)應(yīng)用程序可以共享各種容器及算法,避免了低層次的各種容器及常用算法的反復(fù)開發(fā),提高了開發(fā)效率。但是,目前市場上關(guān)于STL的書籍大多是譯著或者傾向于一般性的介紹,學(xué)生在學(xué)習(xí)過程中缺乏實(shí)戰(zhàn)性的理解與應(yīng)用,所以學(xué)習(xí)起來就顯得有些吃力。編者經(jīng)過多年的實(shí)際教學(xué),參閱多本書籍,結(jié)合學(xué)生在各種競賽中的實(shí)戰(zhàn)經(jīng)驗(yàn),把自己多年來的授課講義利用案例化的形式呈現(xiàn)給讀者。
本書具有以下特點(diǎn):
(1)每個(gè)知識點(diǎn)均有示例進(jìn)行講解。在對每個(gè)知識點(diǎn)進(jìn)行深入淺出的講解后,基本上都會舉例進(jìn)行操作說明,讓讀者既有理論上的領(lǐng)悟,又有實(shí)踐上的理解。
(2)每節(jié)或每章均有應(yīng)用案例。對每節(jié)或每章,根據(jù)知識的體系結(jié)構(gòu)均附有大量有趣的競賽案例,使讀者能夠從中領(lǐng)悟到一些編程技巧,同時(shí)還可以根據(jù)這些案例進(jìn)行研究、修改和擴(kuò)展。
(3)內(nèi)容的講解遵循著由淺入深的原則進(jìn)行。內(nèi)容和示例的安排難點(diǎn)分散、前后連貫,并采用循序漸進(jìn)、層次清晰的編寫風(fēng)格,便于學(xué)生理解和實(shí)現(xiàn)。
在編寫過程中,編者得到許多專家、同行以及中國水利水電出版社編輯的指導(dǎo)與幫助,得到“四川省卓越工程師教育培養(yǎng)計(jì)劃—軟件工程專業(yè)”(川教函〔2013〕750號)和“四川省教育綜合項(xiàng)目—軟件工程化人才培養(yǎng)”改革經(jīng)費(fèi)支持,在此一并表示感謝。
最后,也是最重要的,我要感謝我的愛人何文孝。在編寫過程中,每每遇到問題,我都會跟他進(jìn)行積極討論;每當(dāng)遇到困難時(shí),他都不斷地鼓勵(lì)我、幫助我,才使我得以完成這本書。
由于時(shí)間倉促及作者水平有限,書中疏漏甚至錯(cuò)誤之處在所難免,懇請廣大讀者批評指正,作者郵箱地址:45256796@qq.com。
第1章 STL概述 1
1.1 STL的發(fā)展 1
1.2 STL的內(nèi)容 2
1.3 建立STL程序的方法 4
第2章 模板 8
2.1 函數(shù)模板 8
2.2 類模板 10
2.3 應(yīng)用案例 13
第3章 通用容器 17
3.1 vector向量容器 17
3.1.1 創(chuàng)建vector對象 17
3.1.2 訪問vector元素 19
3.1.3 插入vector元素 20
3.1.4 刪除vector元素 21
3.1.5 向量的大小和容量 23
3.1.6 應(yīng)用案例 25
3.2 集合容器 27
3.2.1 set與multiset 27
3.2.2 集合的相關(guān)操作 28
3.2.3 位集合bitset 33
3.2.4 應(yīng)用案例 37
3.3 隊(duì)列 42
3.3.1 普通隊(duì)列 42
3.3.2 雙端隊(duì)列 43
3.3.3 優(yōu)先隊(duì)列 47
3.3.4 應(yīng)用案例 52
3.4 堆棧 58
3.4.1 棧的操作 59
3.4.2 應(yīng)用案例 60
3.5 映射 65
3.5.1 map和multimap對象的創(chuàng)建 65
3.5.2 map與multimap的相關(guān)操作 67
3.5.3 應(yīng)用案例 72
3.6 鏈表 78
3.6.1 創(chuàng)建list對象 78
3.6.2 訪問list元素 80
3.6.3 插入list元素 81
3.6.4 刪除list元素 83
3.6.5 其他操作 85
3.6.6 應(yīng)用案例 87
第4章 字符串 94
4.1 字符串的創(chuàng)建 94
4.2 字符串的操作 95
4.2.1 字符串的插入 95
4.2.2 字符串的刪除和替換 98
4.2.3 字符串的查詢 102
4.2.4 其他重要函數(shù) 107
4.3 應(yīng)用案例 110
第5章 函數(shù)對象 117
5.1 函數(shù)對象概述 117
5.2 函數(shù)對象的作用 119
5.3 關(guān)系函數(shù)對象 124
5.3.1 等于和不等于 125
5.3.2 小于和小于等于 125
5.3.3 大于和大于等于 126
5.4 邏輯函數(shù)對象 127
5.4.1 邏輯與 127
5.4.2 邏輯或 127
5.4.3 邏輯非 128
5.5 算術(shù)函數(shù)對象 129
5.5.1 四則運(yùn)算函數(shù)對象 129
5.5.2 求余和求反函數(shù)對換 130
5.6 適配器 131
5.6.1 綁定器 132
5.6.2 取反器 133
5.6.3 成員函數(shù)適配器 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 隨機(jī)存取迭代器 142
6.3 迭代器配接器 144
6.3.1 插入型迭代器 144
6.3.2 流迭代器 145
6.3.3 逆向迭代器 147
6.4 迭代器輔助函數(shù) 148
6.4.1 advance() 148
6.4.2 distance() 149
6.4.3 iter_swap() 150
6.5 應(yīng)用案例 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 應(yīng)用案例 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 應(yīng)用案例 168
7.4 堆算法 169
7.4.1 堆概述 170
7.4.2 堆操作 170
7.4.3 應(yīng)用案例 172
7.5 數(shù)值算法 175
7.5.1 求和(accumulate) 175
7.5.2 內(nèi)積(inner_product) 176
7.5.3 部分和(partial_sum) 178
7.5.4 序列相鄰差(adjacent_difference) 179
7.5.5 應(yīng)用案例 180
參考文獻(xiàn) 184
- Python程序設(shè)計(jì)案例教程(微課版) [主編 石利平 田輝平 余以勝]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與實(shí)訓(xùn)(第二版) [主編 倪燃]
- 程序思維與C語言實(shí)現(xiàn) [張祎 王俊海 呂波]
- Python程序設(shè)計(jì)及實(shí)踐教程 [肖朝暉]
- C語言程序設(shè)計(jì) [魏琴 劉祖珉 趙仕波 肖陽春]
- C語言程序設(shè)計(jì)實(shí)驗(yàn)教程 [張小剛 司春景]
- 電氣控制與PLC程序設(shè)計(jì)(第二版) [胡冠山]
- Java Web項(xiàng)目化設(shè)計(jì)實(shí)踐教程 [邱云 曾陳萍]
- C語言程序設(shè)計(jì)(第三版) [主編 丁紅 王立新 蔡開立]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- Python程序設(shè)計(jì)與應(yīng)用(第二版) [主編 張廣淵]
- C程序設(shè)計(jì)實(shí)踐教程 [劉衛(wèi)國]
- C程序設(shè)計(jì)(慕課版) [劉衛(wèi)國]
- 程序設(shè)計(jì)基礎(chǔ)實(shí)踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項(xiàng)目精講 [主編 楊國興]
- SwiftUI完全開發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫項(xiàng)目式教程 [陳亞峰]
- C語言程序設(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(jì)(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實(shí)應(yīng)用開發(fā)實(shí)踐 [主 編 劉龍]
- Python程序設(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語言程序設(shè)計(jì)實(shí)踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- Python程序設(shè)計(jì)基礎(chǔ)及實(shí)戰(zhàn) [主編 劉健]
- C語言程序設(shè)計(jì) [姜雪]
- Python程序設(shè)計(jì)實(shí)踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計(jì)實(shí)踐教程(第三版) [主編 劉衛(wèi)國 曹岳輝]
- C++程序設(shè)計(jì)(第三版) [主編 曹岳輝 劉衛(wèi)國]
- C語言程序設(shè)計(jì)項(xiàng)目化教程(活頁式) [主編 張利華 潘曉利]
- 生活經(jīng)管more>>
- Excel高級應(yīng)用實(shí)驗(yàn)指導(dǎo)
- 管理信息系統(tǒng)(第三版)
- Excel在統(tǒng)計(jì)中的應(yīng)用(第三版)
- Visual Basic程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)
- 大學(xué)計(jì)算機(jī)基礎(chǔ)實(shí)驗(yàn)教程
- 大學(xué)計(jì)算機(jī)基礎(chǔ)
- Access數(shù)據(jù)庫基礎(chǔ)教程實(shí)驗(yàn)指導(dǎo)與習(xí)題集
- 大學(xué)計(jì)算機(jī)基礎(chǔ)教程(第四版)
- Access 數(shù)據(jù)庫基礎(chǔ)教程
- 大學(xué)計(jì)算機(jī)基礎(chǔ)
- 大學(xué)物理實(shí)驗(yàn)(第二版)
- Office高級應(yīng)用實(shí)用教程
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)教程(第三版)(Window
- Excel高級應(yīng)用實(shí)務(wù)
- 大學(xué)物理實(shí)驗(yàn)
- 大學(xué)物理學(xué)習(xí)指導(dǎo)