C++STL基礎(chǔ)及應(yīng)用

出版時(shí)間:2010-10  出版社:清華大學(xué)出版社  作者:金百東,劉德山 編著  頁數(shù):368  
Tag標(biāo)簽:無  

前言

  應(yīng)用是推動(dòng)學(xué)科技術(shù)發(fā)展的原動(dòng)力,計(jì)算機(jī)科學(xué)是實(shí)用科學(xué),計(jì)算機(jī)科學(xué)技術(shù)廣泛而深入地應(yīng)用推動(dòng)了計(jì)算機(jī)學(xué)科的飛速發(fā)展。應(yīng)用型創(chuàng)新人才是科技人才的一種類型,應(yīng)用型創(chuàng)新人才的重要特征是具有強(qiáng)大的系統(tǒng)開發(fā)能力和解決實(shí)際問題的能力。培養(yǎng)應(yīng)用型人才的教學(xué)理念是教學(xué)過程中以培養(yǎng)學(xué)生的綜合技術(shù)應(yīng)用能力為主線,理論教學(xué)以夠用為度,所選擇的教學(xué)方法與手段要有利于培養(yǎng)學(xué)生的系統(tǒng)開發(fā)能力和解決實(shí)際問題的能力?! ‰S著我國經(jīng)濟(jì)建設(shè)的發(fā)展,對(duì)計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)、信息系統(tǒng)、信息服務(wù)和計(jì)算機(jī)應(yīng)用技術(shù)等專業(yè)技術(shù)方向的人才的需求日益增加,主要包括軟件設(shè)計(jì)師、軟件評(píng)測(cè)師、網(wǎng)絡(luò)工程師、信息系統(tǒng)監(jiān)理師、信息系統(tǒng)管理工程師、數(shù)據(jù)庫系統(tǒng)工程師、多媒體應(yīng)用設(shè)計(jì)師、電子商務(wù)設(shè)計(jì)師、嵌入式系統(tǒng)設(shè)計(jì)師和計(jì)算機(jī)輔助設(shè)計(jì)師等。如何構(gòu)建應(yīng)用型人才培養(yǎng)的教學(xué)體系以及系統(tǒng)框架,是從事計(jì)算機(jī)教育工作者的責(zé)任。為此,中國計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)教育專業(yè)委員會(huì)和清華大學(xué)出版社共同組織啟動(dòng)了《中國高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)學(xué)科教程》的項(xiàng)目研究。參加本項(xiàng)目的研究人員全部來自國內(nèi)高校教學(xué)一線具有豐富實(shí)踐經(jīng)驗(yàn)的專家和骨干教師。項(xiàng)目組對(duì)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)應(yīng)用型學(xué)科的培養(yǎng)目標(biāo)、內(nèi)容、方法和意義,以及教學(xué)大綱和課程體系等進(jìn)行了較深入、系統(tǒng)的研究,并編寫了《中國高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)學(xué)科教程》(簡(jiǎn)稱《學(xué)科教程》)?!秾W(xué)科教程》在編寫上注意區(qū)分應(yīng)用性人才與其他人才在培養(yǎng)上的不同,注重體現(xiàn)應(yīng)用型學(xué)科的特征。在課程設(shè)計(jì)中,《學(xué)科教程》在依托學(xué)科設(shè)計(jì)的同時(shí),更注意面向行業(yè)產(chǎn)業(yè)的實(shí)際需求。為了更好地體現(xiàn)《學(xué)科教程》的思想與內(nèi)容,我們組織編寫了《中國高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(應(yīng)用型)規(guī)劃教材》,旨在能為計(jì)算機(jī)專業(yè)應(yīng)用型教學(xué)的課程設(shè)置、課程內(nèi)容以及教學(xué)實(shí)踐起到一個(gè)示范作用。本系列教材的主要特點(diǎn)如下:  1.完全按照《學(xué)科教程》的體系組織編寫本系列教材,特別是注意在教材設(shè)置、教材定位和教材內(nèi)容的銜接上與《學(xué)科教程》保持一致?! ?.每門課程的教材內(nèi)容都按照《學(xué)科教程》中設(shè)置的大綱精心編寫,盡量體現(xiàn)應(yīng)用型教材的特點(diǎn)。  3.由各學(xué)校精品課程建設(shè)的骨干教師組成作者隊(duì)伍,以課程研究為基礎(chǔ),將教學(xué)的研究成果引入教材中。  4.在教材建設(shè)上,重點(diǎn)突出對(duì)計(jì)算機(jī)應(yīng)用能力和應(yīng)用技術(shù)的培養(yǎng),注重教材的實(shí)踐性?! ?.注重系列教材的立體配套,包括教參、教輔以及配套的教學(xué)資源、電子課件等。

內(nèi)容概要

本書全面系統(tǒng)地介紹標(biāo)準(zhǔn)模板庫(STL)泛型應(yīng)用開發(fā)技術(shù)?;A(chǔ)知識(shí)部分包括模板、迭代器、輸入輸出流、字符串、函數(shù)對(duì)象、通用容器、非變異算法、變異算法、排序等;集成應(yīng)用部分包括STL算法的綜合應(yīng)用、在數(shù)據(jù)結(jié)構(gòu)中的應(yīng)用、在Visual C++上的應(yīng)用等。本書從應(yīng)用出發(fā),每章都包含大量的示例和詳細(xì)的結(jié)果分析,旨在使讀者學(xué)會(huì)STL各個(gè)知識(shí)體系的應(yīng)用方法,體會(huì)STL思維的巧妙之處。對(duì)某些稍難示例的設(shè)計(jì)思想也做了詳細(xì)的說明。    本書可作為專業(yè)技術(shù)人員、大專院校計(jì)算機(jī)專業(yè)的本科生、研究生學(xué)習(xí)C++泛型編程的教材或參考書。本書對(duì)編寫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  通過模板初識(shí)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  處理流錯(cuò)誤  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ù)對(duì)象  6.1  簡(jiǎn)介    61    6.1.1  為何引入函數(shù)對(duì)象  61    6.1.2  函數(shù)對(duì)象分類  62    6.1.3  簡(jiǎn)單示例    63  6.2  一元函數(shù)    64  6.3  二元函數(shù)    66  6.4  系統(tǒng)函數(shù)對(duì)象  68    6.4.1  算術(shù)類函數(shù)對(duì)象  69    6.4.2  關(guān)系運(yùn)算類函數(shù)對(duì)象    72    6.4.3  邏輯運(yùn)算類函數(shù)對(duì)象  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  隊(duì)列和堆棧  115    7.5.1  常用函數(shù)    115    7.5.2  容器配接器  116    7.5.3  基本操作示例  117    7.5.4  綜合操作示例  120  7.6  優(yōu)先隊(duì)列    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  計(jì)數(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個(gè)元素  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  動(dòng)態(tài)鏈接庫  360參考文獻(xiàn)

章節(jié)摘錄

 ?。?)序列性容器:按照線性排列來存儲(chǔ)某類型值的集合,每個(gè)元素都有自己特定的位置,順序容器主要有vector、deque和list?! ector:就是動(dòng)態(tài)數(shù)組。它是在堆中分配內(nèi)存,元素連續(xù)存放,有保留內(nèi)存,如果減少大小后內(nèi)存也不會(huì)釋放。新值大于當(dāng)前大小時(shí)才會(huì)再分配內(nèi)存。對(duì)最后元素操作最快(在后面添加刪除最快),此時(shí)一般不需要移動(dòng)內(nèi)存。只有保留內(nèi)存不夠時(shí),才需要對(duì)中間和開始處進(jìn)行添加刪除元素操作,這時(shí)需要移動(dòng)內(nèi)存,如果你的元素是結(jié)構(gòu)或是類,那么移動(dòng)的同時(shí)還會(huì)進(jìn)行構(gòu)造和析構(gòu)操作。vector的一大特點(diǎn)是可直接訪問任何元素?! eque:與vector類似,支持隨機(jī)訪問和快速插入刪除,它在容器中某一位置上的操作所花費(fèi)的是線性時(shí)間。與vector不同的是,deque還支持從開始端插入、刪除數(shù)據(jù)。由于它主要對(duì)前端、后端進(jìn)行操作,因此也叫做雙端隊(duì)列。  list:又叫鏈表,是一種雙線性列表,只能順序訪問(從前向后或者從后向前),與前面兩種容器類有一個(gè)明顯的區(qū)別就是它不支持隨機(jī)訪問。要訪問表中某個(gè)下標(biāo)處的項(xiàng)需要從表頭或表尾處(接近該下標(biāo)的一端)開始循環(huán)。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    C++STL基礎(chǔ)及應(yīng)用 PDF格式下載


用戶評(píng)論 (總計(jì)30條)

 
 

  •   不錯(cuò)哦 推薦 適合于了解stl庫
  •   STL的好教材,特別是一般C++書上STL都寫得比較簡(jiǎn)單。
  •   對(duì)于所有正在學(xué)習(xí)stl的同學(xué),可以參考此書看看,里面的例子通俗易懂
  •   國內(nèi)作者的STL教程,很期待!
  •   很好 對(duì)STL有很大的幫助
  •   這絕對(duì)是本好書,是走向面向?qū)ο蠛头盒途幊痰暮脮?,是一種大學(xué)課本走向?qū)嶋H的一個(gè)橋梁,對(duì)于C++的編程無疑是一本進(jìn)階的書籍,雖然例子很簡(jiǎn)單,但透漏的是一種思想,面向?qū)ο蟮臉闼剞q證思想。贊一個(gè)
  •   這本書偏向基礎(chǔ) 很詳細(xì) 對(duì)初學(xué)者有很大的幫助
  •   我們授課教師編的一本書,內(nèi)容很好,對(duì)所學(xué)課程很有幫助,支持金百東老師!??!
  •   前段時(shí)間在圖書館看到過這本書 寫得挺適合于初學(xué)者的 例子雖然簡(jiǎn)單 但是實(shí)用性很強(qiáng) 是本好書 所以現(xiàn)在買下來 寒假回家繼續(xù)看
  •   非常好的一本書,看一眼就不想關(guān)了
  •   作為一本教材來說,這已經(jīng)很好啦,送貨速度也比較快。
  •   目前學(xué)習(xí)st的入門好書。
  •   內(nèi)容不錯(cuò),實(shí)例很詳盡,很適合初學(xué)者
  •   內(nèi)容很好,挺詳實(shí)的
  •   講解的很透徹,簡(jiǎn)潔,不羅嗦。
  •   看了幾頁,講的挺好,通俗易懂
  •   推薦大家去看一下,可以有哦~~
  •   這算是入門書。。但是我都用stl好些年頭了,再看看還是能感悟到點(diǎn)什么,溫故而知新
  •   這本書應(yīng)該算是 C++ 模板方面的經(jīng)典了,還提及函數(shù)對(duì)象
  •   很基礎(chǔ),通俗易懂
  •   這本書蠻好,找了很久了
  •   收到貨時(shí),書里面出現(xiàn)了頁面長短不齊,不過,整體上書中的內(nèi)容可以。。
  •   書不錯(cuò),作者寫的很認(rèn)真
  •   我是因?yàn)榻谧鰏tl開發(fā),就買了此書,這本書比較適合初學(xué)者,簡(jiǎn)單的開發(fā)可以當(dāng)作參考,但是不夠全面,我的意思不是說想看多深入的分析,舉個(gè)例子,我想了解it = multimap.find(key)返回的迭代器(假如我一個(gè)key下有多個(gè)value),這時(shí)for(it;it<multimap.end();++it)這樣遍歷出來的東西,是指定key下的所有value,還是從指定key的位置開始向后所有value(包括其他key)?(偽代碼,表示個(gè)意思)。但是這個(gè)問題本書沒有涉及,所以我只好在編譯器里自己實(shí)驗(yàn)了。
  •   太慢了,等了一星期才到
  •   還沒有開始讀,就不妄加評(píng)論了~~~
  •   這本書是用的VC++6.0的內(nèi)置STL作為講解對(duì)象的,VC++6.0是在98年推出,那個(gè)時(shí)候STL標(biāo)準(zhǔn)都還沒有完全制定完,VC++6.0的內(nèi)置STL的眾所周知的非標(biāo)準(zhǔn)STL。這種教程完全是落伍的內(nèi)容啊。
  •   看了四章,就發(fā)現(xiàn)了四處錯(cuò)誤
  •   書適合入門者
  •   內(nèi)容如何,不要問我
 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7