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
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- C語言同步案例習題精解 [主編 肖朝暉]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]