2年,C++標準委員會發(fā)布了標準的一個重要修訂版,即C+,揭開了C++發(fā)展的新篇章。目前,許多程序設計競賽和相關考試都已經(jīng)提供了支持C+程序運行的編譯器。本書的代碼完全采用C+的語法進行編寫,并力求幫助讀者養(yǎng)成一種良好的C+代碼編寫風格,在程序設計競賽和相關考試中能夠快速而準確地編寫代碼。
除了介紹C+新特性之外,本書還會詳細介紹各類基礎的數(shù)據(jù)結構和算法。本書的具體內容個部分:C+基礎、C+標準庫簡介、算法基礎、數(shù)據(jù)結構基礎、C++標準庫進階。本書主要面向計算機專業(yè)零基礎的學習者,特別適合作為學習C++語言、數(shù)據(jù)結構與算法的入門書籍,也可作為計算機專業(yè)研究生入學考試復試上機考試、各類算法考試和算法競賽的輔導書籍。
(責任編輯郵箱:jinacmp@163.com)
我是一名在計算機這門學科上開竅比較晚的學生,在本科一年級下學期,我通過轉專業(yè)的方式進入了計算機專業(yè),當時也并不是多么喜歡計算機這個專業(yè),只是覺得原專業(yè)并不適合我,然后便“隨意”地選擇了計算機專業(yè)作為我的轉入專業(yè)。現(xiàn)在想起來不禁要感謝當初的自己,因為在后來的學習過程中我的確愛上了“編程”這項工作。當然,這段學習過程并沒有那么一帆風順 由于我本科階段都是“渾渾噩噩”地度過的,沒做什么實事,成績自然不理想,保研已經(jīng)毫無希望,于是我決定報考浙江大學計算機學院的研究生。由于浙江大學計算機學院研究生的機試成績可以使用甲級成績代替,我決定在本科三年級的寒假準備甲級考試。在朋友們的推薦下,我購買了胡凡師兄的《算法筆記》,開始夜以繼日、孜孜不倦地狂刷甲級乙級題庫。在這個過程中我不僅感覺自己的編程能力得到了很大提升,更重要的是我似乎感受到了編程的魅力,開始真正喜歡上了編程這項工作?梢哉f,胡凡師兄的《算法筆記》是我學習數(shù)據(jù)結構與算法的真正啟蒙書,我由衷地感謝胡凡師兄能夠嚴謹細致地完成《算法筆記》這部有啟發(fā)意義的著作 在枯燥、痛苦與快樂交織在一起的刷題過程中,我開始嘗試著為每一道題編寫自己的博客。后來的事實證明,對程序員來說,編寫博客的確是一件非常有意義的事情。在我編寫博客的過程中,有許多同學和朋友在社區(qū)中給予我鼓勵和支持,這使我受到了莫大的鼓舞,在這里對他們致以由衷的感謝 由于我系統(tǒng)學習過C+語法,博客中引用的代碼便大多以C+語法的形式給出。這使得相對于網(wǎng)絡上給出的同一題的代碼中,我的代碼總會顯得更加簡潔,也更少。我開始越發(fā)感受到C+的強大魅力,并在博客中盡可能多地利用C+的新特性來解題。但是,網(wǎng)絡上的博客終究不系統(tǒng),許多相似的題目和解法不容易聯(lián)系在一起,隨著我編寫的博客越來越多,這種感覺在我腦海中越發(fā)強烈。后來有人咨詢我是否有興趣在已發(fā)表的博客基礎上,撰寫一本系統(tǒng)介紹C+與相關題目求解方法的書籍,我開始萌發(fā)了編寫一部書籍的想法。但是面對編撰書籍的繁雜工作和碩士期間的學業(yè)壓力,這個看似簡單卻并不簡單的想法又開始動搖了。我咨詢了包括胡凡師兄在內的許多師兄師姐,他們切實的回復以及吉玲編輯對本書的莫大興趣讓我下定決心開始撰寫本書籍 在經(jīng)歷了無數(shù)個日日夜夜的辛苦工作、無數(shù)次的編輯和修訂后,我的工作成果終于送到了讀者的手上。希望它能讓讀者滿意!但是,由于我水平有限,盡管對本書進行了多次校對,書中可能仍有一些有待改進的地方,敬請廣大讀者提出寶貴建議 日沉云起于杭州
關
部分C+基礎章C+簡2
從“Hewo”
3
算 4
4
浮
4
布
字面值
6
算術運
遞增和遞減運
邏輯運算符和關系運
條件運
位運
賦值運算符和復合賦值9
代用運
9
語
wh語
do-wh語句 11
語句11
br語句和conti語句
g語
C++的輸入14
用來輸
用c來輸
優(yōu)化cin/c19
C 語言的輸入輸20
sc20
print
算術類型的類型轉
算術類型的隱式類型轉
算術類型的顯式類型轉
算術類型數(shù)據(jù)運算時可能出現(xiàn)25
整型數(shù)據(jù)的數(shù)據(jù)溢出錯
浮點數(shù)類型的相等性比26
例題剖
例題與習第2 章C+程35
35
引用的基本概
拷貝賦值與引用賦
37
V23
函數(shù)基
傳值調用與傳引用調
指針做函數(shù)形
函數(shù)重
默認參
C++標準庫中的常用數(shù)學函
內置數(shù)
一維數(shù)
數(shù)組與指
二維數(shù)
多維數(shù)
數(shù)組做函數(shù)形
字符串(1):strin
str的初始
str的輸入與輸
字典序比
str中內置的字符串操
C++標準庫中的常用字符處理函
例題剖
字符串(2):字符數(shù)
字符數(shù)組的初始化和存64
字符數(shù)組的輸入與輸
cstr頭文件中處理字符數(shù)組66
2C++語67
類型別
co67
a類型說明
錄
范圍語句
類和對
類的定義和實例
構造函
成員函
再談變
全局變量和局部變
全局區(qū)、棧區(qū)、堆
變量的默認初始化、值81
注意控制數(shù)組和容器83
再談引
例題剖
例題與習
部分C+標準庫簡章準備知
時間復雜
空間復雜
be成員和成員
迭代器運算
迭代器操
迭代器的類型
迭代器范圍
反向迭代器
p
tu
章順序容器
順序容器概覽
順序容器對象的定義和初始化
順序容器的大小操作和賦
訪問元素
添加元素
刪除元素
vec、str、ar、de迭代器的其
例題剖析
再談str
構造str的其他方法
修改str的其他方法
str搜索操作
數(shù)值轉換stringstr:按任意字符分割
例題剖析
例題與習題
泛型算法
泛型算法概覽
自定義排序
比較規(guī)則代碼的編寫
重載小于運算符
比較函數(shù)函數(shù)對象/仿函數(shù)
與內置小于運算符相反
排名
總結
例題剖析
泛型算法大觀園
只讀算法
寫算法
排序與劃分算法
在有序序列上的泛型算法
堆操作算法
排列算法
最大值最小值算法
數(shù)值算法
例題剖析
5 l容器特有的算法
例題與習題第6 章容器適配器
容器適配器概覽
st
qu
priority_qu
第7 章關聯(lián)容器
關聯(lián)容器概覽
關聯(lián)容器對象的定義和初始化
關聯(lián)容器的共有操作
和unordered_的下
有序關聯(lián)容器的二分查找操作
關聯(lián)容器對關鍵字類型的要求