出版時間:2010-10 出版社:清華大學(xué)出版社 作者:金百東,劉德山 編著 頁數(shù):368
Tag標(biāo)簽:無
前言
應(yīng)用是推動學(xué)科技術(shù)發(fā)展的原動力,計算機(jī)科學(xué)是實用科學(xué),計算機(jī)科學(xué)技術(shù)廣泛而深入地應(yīng)用推動了計算機(jī)學(xué)科的飛速發(fā)展。應(yīng)用型創(chuàng)新人才是科技人才的一種類型,應(yīng)用型創(chuàng)新人才的重要特征是具有強(qiáng)大的系統(tǒng)開發(fā)能力和解決實際問題的能力。培養(yǎng)應(yīng)用型人才的教學(xué)理念是教學(xué)過程中以培養(yǎng)學(xué)生的綜合技術(shù)應(yīng)用能力為主線,理論教學(xué)以夠用為度,所選擇的教學(xué)方法與手段要有利于培養(yǎng)學(xué)生的系統(tǒng)開發(fā)能力和解決實際問題的能力。 隨著我國經(jīng)濟(jì)建設(shè)的發(fā)展,對計算機(jī)軟件、計算機(jī)網(wǎng)絡(luò)、信息系統(tǒng)、信息服務(wù)和計算機(jī)應(yīng)用技術(shù)等專業(yè)技術(shù)方向的人才的需求日益增加,主要包括軟件設(shè)計師、軟件評測師、網(wǎng)絡(luò)工程師、信息系統(tǒng)監(jiān)理師、信息系統(tǒng)管理工程師、數(shù)據(jù)庫系統(tǒng)工程師、多媒體應(yīng)用設(shè)計師、電子商務(wù)設(shè)計師、嵌入式系統(tǒng)設(shè)計師和計算機(jī)輔助設(shè)計師等。如何構(gòu)建應(yīng)用型人才培養(yǎng)的教學(xué)體系以及系統(tǒng)框架,是從事計算機(jī)教育工作者的責(zé)任。為此,中國計算機(jī)學(xué)會計算機(jī)教育專業(yè)委員會和清華大學(xué)出版社共同組織啟動了《中國高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)學(xué)科教程》的項目研究。參加本項目的研究人員全部來自國內(nèi)高校教學(xué)一線具有豐富實踐經(jīng)驗的專家和骨干教師。項目組對計算機(jī)科學(xué)與技術(shù)專業(yè)應(yīng)用型學(xué)科的培養(yǎng)目標(biāo)、內(nèi)容、方法和意義,以及教學(xué)大綱和課程體系等進(jìn)行了較深入、系統(tǒng)的研究,并編寫了《中國高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)學(xué)科教程》(簡稱《學(xué)科教程》)?!秾W(xué)科教程》在編寫上注意區(qū)分應(yīng)用性人才與其他人才在培養(yǎng)上的不同,注重體現(xiàn)應(yīng)用型學(xué)科的特征。在課程設(shè)計中,《學(xué)科教程》在依托學(xué)科設(shè)計的同時,更注意面向行業(yè)產(chǎn)業(yè)的實際需求。為了更好地體現(xiàn)《學(xué)科教程》的思想與內(nèi)容,我們組織編寫了《中國高等學(xué)校計算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材》,旨在能為計算機(jī)專業(yè)應(yīng)用型教學(xué)的課程設(shè)置、課程內(nèi)容以及教學(xué)實踐起到一個示范作用。本系列教材的主要特點如下: 1.完全按照《學(xué)科教程》的體系組織編寫本系列教材,特別是注意在教材設(shè)置、教材定位和教材內(nèi)容的銜接上與《學(xué)科教程》保持一致。 2.每門課程的教材內(nèi)容都按照《學(xué)科教程》中設(shè)置的大綱精心編寫,盡量體現(xiàn)應(yīng)用型教材的特點。 3.由各學(xué)校精品課程建設(shè)的骨干教師組成作者隊伍,以課程研究為基礎(chǔ),將教學(xué)的研究成果引入教材中?! ?.在教材建設(shè)上,重點突出對計算機(jī)應(yīng)用能力和應(yīng)用技術(shù)的培養(yǎng),注重教材的實踐性?! ?.注重系列教材的立體配套,包括教參、教輔以及配套的教學(xué)資源、電子課件等。
內(nèi)容概要
本書全面系統(tǒng)地介紹標(biāo)準(zhǔn)模板庫(STL)泛型應(yīng)用開發(fā)技術(shù)?;A(chǔ)知識部分包括模板、迭代器、輸入輸出流、字符串、函數(shù)對象、通用容器、非變異算法、變異算法、排序等;集成應(yīng)用部分包括STL算法的綜合應(yīng)用、在數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用、在Visual C++上的應(yīng)用等。本書從應(yīng)用出發(fā),每章都包含大量的示例和詳細(xì)的結(jié)果分析,旨在使讀者學(xué)會STL各個知識體系的應(yīng)用方法,體會STL思維的巧妙之處。對某些稍難示例的設(shè)計思想也做了詳細(xì)的說明。 本書可作為專業(yè)技術(shù)人員、大專院校計算機(jī)專業(yè)的本科生、研究生學(xué)習(xí)C++泛型編程的教材或參考書。本書對編寫Java泛型程序也有一定的指導(dǎo)意義。
書籍目錄
第1章 STL概述 1.1 STL歷史 1 1.2 STL內(nèi)容 2 1.3 建立STL程序的方法 3 1.4 命名空間 5第2章 模板 2.1 通過模板初識STL思維 7 2.2 traits技術(shù) 10 2.3 模板與操作符重載 14第3章 迭代器 3.1 什么是迭代器 19 3.2 迭代器類位置 24 3.3 進(jìn)一步理解迭代器 27 3.4 STL迭代器 28第4章 輸入輸出流 4.1 標(biāo)準(zhǔn)輸入輸出流 33 4.1.1 插入符與提取符 33 4.1.2 get系列函數(shù) 35 4.1.3 處理流錯誤 36 4.2 文件輸入輸出流 38 4.2.1 文件打 38 4.2.2 文件關(guān)閉 38 4.2.3 文件讀寫 38 4.3 字符串輸入輸出流 43 4.4 綜合示例 44第5章 字符串 5.1 字符串創(chuàng)建及初始化 49 5.1.1 基本創(chuàng)建方式 49 5.1.2 迭代器創(chuàng)建方式 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章 函數(shù)對象 6.1 簡介 61 6.1.1 為何引入函數(shù)對象 61 6.1.2 函數(shù)對象分類 62 6.1.3 簡單示例 63 6.2 一元函數(shù) 64 6.3 二元函數(shù) 66 6.4 系統(tǒng)函數(shù)對象 68 6.4.1 算術(shù)類函數(shù)對象 69 6.4.2 關(guān)系運(yùn)算類函數(shù)對象 72 6.4.3 邏輯運(yùn)算類函數(shù)對象 74 6.4.4 函數(shù)適配器 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 進(jìn)一步理解vector 94 7.2.7 綜合操作示例 95 7.3 deque容器 99 7.3.1 常用函數(shù) 99 7.3.2 基本操作示例 100 7.3.3 綜合操作示例 102 7.4 list容器 104 7.4.1 常用函數(shù) 105 7.4.2 基本操作示例 106 7.4.3 綜合操作示例 109 7.5 隊列和堆棧 115 7.5.1 常用函數(shù) 115 7.5.2 容器配接器 116 7.5.3 基本操作示例 117 7.5.4 綜合操作示例 120 7.6 優(yōu)先隊列 123 7.6.1 常用函數(shù) 123 7.6.2 基本操作示例 124 7.6.3 綜合操作示例 125 7.7 bitset容器 128 7.7.1 常用函數(shù) 128 7.7.2 基本操作示例 129 7.7.3 綜合操作示例 132 7.8 集合 135 7.8.1 常用函數(shù) 135 7.8.2 基本操作示例 136 7.8.3 綜合操作示例 139 7.9 映射 142 7.9.1 常用函數(shù) 142 7.9.2 基本操作示例 143 7.9.3 綜合操作示例 145 7.10 再論迭代器 150第8章 非變異算法 8.1 循環(huán) 155 8.1.1 主要函數(shù) 155 8.1.2 示例分析 156 8.2 查詢 160 8.2.1 主要函數(shù) 160 8.2.2 示例分析 163 8.3 計數(shù) 171 8.3.1 主要函數(shù) 171 8.3.2 示例分析 172 8.4 比較 174 8.4.1 主要函數(shù) 174 8.4.2 示例分析 175第9章 變異算法 9.1 復(fù)制 180 9.1.1 主要函數(shù) 180 9.1.2 示例分析 181 9.2 交換 182 9.2.1 主要函數(shù) 182 9.2.2 示例分析 183 9.3 變換 184 9.3.1 主要函數(shù) 184 9.3.2 示例分析 185 9.4 替換 188 9.4.1 主要函數(shù) 188 9.4.2 示例分析 190 9.5 填充 191 9.5.1 主要函數(shù) 191 9.5.2 示例分析 192 9.6 生成 193 9.6.1 主要函數(shù) 193 9.6.2 示例分析 194 9.7 刪除 199 9.7.1 主要函數(shù) 199 9.7.2 示例分析 200 9.8 唯一 204 9.8.1 主要函數(shù) 204 9.8.2 示例分析 205 9.9 反轉(zhuǎn) 207 9.9.1 主要函數(shù) 207 9.9.2 示例分析 208 9.10 環(huán)移 209 9.10.1 主要函數(shù) 209 9.10.2 示例分析 210 9.11 隨機(jī) 212 8.11.1 主要函數(shù) 212 9.11.2 示例分析 212 9.12 劃分 215 9.12.1 主要函數(shù) 215 9.12.2 示例分析 216第10章 排序及相關(guān)操作 10.1 排序 220 10.1.1 主要函數(shù) 220 10.1.2 示例分析 222 10.2 第n個元素 227 10.2.1 主要函數(shù) 227 10.2.2 示例分析 227 10.3 二分檢索 228 10.3.1 主要函數(shù) 228 10.3.2 示例分析 230 10.4 歸并 232 10.4.1 主要函數(shù) 232 10.4.2 示例分析 233 10.5 有序結(jié)構(gòu)上的集合操作 234 10.5.1 主要函數(shù) 234 10.5.2 示例分析 236 10.6 堆操作 241 10.6.1 主要函數(shù) 241 10.6.2 示例分析 242 10.7 最大和最小 245 10.7.1 主要函數(shù) 245 10.7.2 示例分析 247 10.8 詞典比較 247 10.8.1 主要函數(shù) 247 10.8.2 示例分析 248 10.9 排列生成器 249 10.9.1 主要函數(shù) 249 10.9.2 示例分析 250 10.10 數(shù)值算法 251 10.10.1 主要函數(shù) 251 10.10.2 示例分析 253 10.11 自定義STL風(fēng)格函數(shù) 254第11章 STL應(yīng)用 11.1 算法的綜合運(yùn)用 257 11.1.1 在多態(tài)中的應(yīng)用 257 11.1.2 set、map應(yīng)用 261 11.1.3 ini文件解析 264 11.1.4 綜合查詢 269 11.2 在數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用 280 11.2.1 全排列應(yīng)用 280 11.2.2 頻度問題 283 11.2.3 最長公共子序列問題 285 11.2.4 大整型數(shù)加法、乘法類 288 11.2.5 矩陣問題 293 11.2.6 回溯問題 296 11.2.7 字符串表達(dá)式 300 11.2.8 圖 306 11.3 在Visual C++中應(yīng)用 316 11.3.1 Scribble繪圖程序 317 11.3.2 數(shù)據(jù)庫操作程序 324 11.3.3 文本文件排序、查詢 337 11.3.4 基于配置文件的查詢程序 346 11.3.5 STL 動態(tài)鏈接庫 360參考文獻(xiàn)
章節(jié)摘錄
?。?)序列性容器:按照線性排列來存儲某類型值的集合,每個元素都有自己特定的位置,順序容器主要有vector、deque和list?! ector:就是動態(tài)數(shù)組。它是在堆中分配內(nèi)存,元素連續(xù)存放,有保留內(nèi)存,如果減少大小后內(nèi)存也不會釋放。新值大于當(dāng)前大小時才會再分配內(nèi)存。對最后元素操作最快(在后面添加刪除最快),此時一般不需要移動內(nèi)存。只有保留內(nèi)存不夠時,才需要對中間和開始處進(jìn)行添加刪除元素操作,這時需要移動內(nèi)存,如果你的元素是結(jié)構(gòu)或是類,那么移動的同時還會進(jìn)行構(gòu)造和析構(gòu)操作。vector的一大特點是可直接訪問任何元素?! eque:與vector類似,支持隨機(jī)訪問和快速插入刪除,它在容器中某一位置上的操作所花費的是線性時間。與vector不同的是,deque還支持從開始端插入、刪除數(shù)據(jù)。由于它主要對前端、后端進(jìn)行操作,因此也叫做雙端隊列?! ist:又叫鏈表,是一種雙線性列表,只能順序訪問(從前向后或者從后向前),與前面兩種容器類有一個明顯的區(qū)別就是它不支持隨機(jī)訪問。要訪問表中某個下標(biāo)處的項需要從表頭或表尾處(接近該下標(biāo)的一端)開始循環(huán)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
C++STL基礎(chǔ)及應(yīng)用 PDF格式下載