C/C++程序設(shè)計(jì)實(shí)用案例教程
定 價(jià):42 元
叢書名:高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選
- 作者:丁展
- 出版時(shí)間:2018/8/1
- ISBN:9787121346033
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:236
- 紙張:
- 版次:01
- 開本:16開
本書精選了大量綜合編程案例,基本上涵蓋了當(dāng)前基礎(chǔ)算法領(lǐng)域的熱點(diǎn)問題。本書共有8章,分別為字符串,排序和查找,棧、鏈表與隊(duì)列,樹與圖,遞歸與分治器,集合與映射,Win32 GUI編程基礎(chǔ),綜合編程課程設(shè)計(jì)實(shí)例。
丁展,博士,畢業(yè)于浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù),現(xiàn)任職于金陵科技學(xué)院軟件工程學(xué)院,中國計(jì)算機(jī)學(xué)會會員,著作方向?yàn)槌绦蛟O(shè)計(jì)、軟件開發(fā),曾在人民郵電出版社出版《Visual C++網(wǎng)絡(luò)通信編程實(shí)用案例精選》 《Visual C++游戲開發(fā)技術(shù)與實(shí)例》。從事C/C++教學(xué)工作多年,目前是金陵科技學(xué)院ACM競賽指導(dǎo)老師。曾承擔(dān)兩項(xiàng)國家自然科學(xué)基金,海量空間數(shù)據(jù)的連續(xù)模型建模技術(shù),點(diǎn)云曲面的數(shù)字拓?fù)渑c幾何的若干基礎(chǔ)問題研究。
目 錄
第1章 字符串處理 1
1.1 字符串基本操作 1
1.1.1 字符串拷貝 1
1.1.2 字符串連接 3
1.1.3 反轉(zhuǎn)字符串 6
1.1.4 大小寫轉(zhuǎn)換 8
1.1.5 字符串與數(shù)的轉(zhuǎn)換 10
1.1.6 字符串查找 14
1.1.7 刪除字符 16
1.1.8 字符串字典比較 17
1.2 字符串處理常見問題 20
1.2.1 居民身份證號的表示 20
1.2.2 std::string與const char*轉(zhuǎn)換 21
1.2.3 字符串與buffer緩沖 21
1.2.4 設(shè)置浮點(diǎn)數(shù)精度 22
1.2.5 得到一行輸入的字符串 23
1.2.6 統(tǒng)計(jì)一行文本中單詞個(gè)數(shù) 24
1.2.7 std::stream的高速緩沖方法 25
1.3 綜合編程實(shí)例:公民數(shù)據(jù)模擬 27
第2章 排序和查找 34
2.1 桶排序(bucket sort) 34
2.2 qsort排序 34
2.2.1 整型數(shù)組的qsort 35
2.2.2 浮點(diǎn)型數(shù)組的qsort 36
2.2.3 字符型數(shù)組的qsort 37
2.2.4 字符串?dāng)?shù)組的qsort 38
2.2.5 結(jié)構(gòu)類型數(shù)組的qsort 40
2.3 std::sort排序 43
2.3.1 std::sort基本用法 44
2.3.2 std::greater基本用法 46
2.3.3 自定義類型排序 46
2.4 二分查找算法 48
2.5 std::find查找 51
2.6 綜合編程實(shí)例 52
第3章 棧、鏈表與隊(duì)列 64
3.1 棧 64
3.1.1 std::stack 64
3.1.2 綜合編程實(shí)例 65
3.2 鏈表 74
3.2.1 std::list 75
3.2.2 綜合編程實(shí)例 77
3.3 隊(duì)列 80
3.3.1 std::queue 80
3.3.2 std::deque 81
3.3.3 綜合編程實(shí)例:卡片游戲 82
第4章 樹與圖 84
4.1 二叉樹 84
4.1.1 完全二叉樹 84
4.1.2 二叉樹遍歷 85
4.1.3 手寫二叉樹的遍歷 86
4.1.4 二叉樹高度計(jì)算 87
4.1.5 二叉樹刪除 88
4.1.6 綜合編程實(shí)例 88
4.2 圖 102
4.2.1 圖的基本操作 102
4.2.2 圖的表示方法 102
4.2.3 綜合編程實(shí)例 103
第5章 遞歸與分治 112
5.1 漢諾塔 112
5.2 子串組合 113
5.3 數(shù)組組合 115
5.4 格子排列 118
5.5 八皇后 122
5.6 循環(huán)賽日程安排 124
5.7 棋盤覆蓋 128
第6章 集合與映射 132
6.1 集合 132
6.1.1 std::set 132
6.1.2 集合求交 set_intersection 133
6.1.3 集合求并 set_union 135
6.1.4 集合求差 set_difference 136
6.1.5 綜合編程實(shí)例:集合相似度 137
6.2 映射 139
6.2.1 std::map 139
6.2.2 std::multimap 140
6.3 哈希映射 142
6.3.1 常用的哈希函數(shù) 142
6.3.2 哈希沖突的處理方法 142
6.3.3 綜合編程實(shí)例 143
第7章 Win32 GUI編程基礎(chǔ) 148
7.1 Win32 GUI 148
7.1.1 CodeBlocks第一個(gè)Win32教程 148
7.1.2 Visual Studio 2015第一個(gè)Win32 GUI程序 150
7.1.3 代碼分析 151
7.2 Win32 消息基礎(chǔ) 155
7.2.1 窗口關(guān)閉消息WM_CLOSE 155
7.2.2 窗口大小調(diào)整消息 WM_SIZE 156
7.2.3 窗口創(chuàng)建消息 WM_CREATE 157
7.2.4 菜單或其他按鈕消息 WM_COMMAND 158
7.2.5 鼠標(biāo)消息 159
7.2.6 繪制消息WM_PAINT 160
7.2.7 鍵盤消息WM_KEYDOWN 和 WM_KEYUP 161
7.3 綜合編程實(shí)例:簡單多邊形的創(chuàng)建、繪制、平移與旋轉(zhuǎn) 162
7.4 Win32 圖形設(shè)備接口GDI 176
7.4.1 線段和曲線繪制 177
7.4.2 筆、畫刷、填充繪制 180
7.4.3 字體和文本 184
7.4.4 光柵操作 186
7.4.5 雙緩沖機(jī)制 188
第8章 綜合編程實(shí)例 190
8.1 撲克洗牌 190
8.2 二叉樹重建可視化 194
8.3 L-System分形樹建模 204
8.4 迷宮問題 218
參考文獻(xiàn) 226