資料結構利器之私房STL

2021-09-07 23:43:14 字數 965 閱讀 5838

此系列的文章適合初學有意剖析stl和欲複習stl的同學們。都是原創!

學過c++的同學相信都有或多或少接觸過stl。stl不僅僅是c++中很好的程式設計工具(這個詞可能有點歧義,用類庫更恰當),還是學習資料結構的好教材。它實現了包括可邊長陣列,鍊錶,棧,佇列,雜湊,對映等等,這些都是計算機專業同學在資料結構這門核心課程當中需要學習的。

在深入乙個工具之前,首先要熟練使用它。stl也一樣。在剖析stl之前,可以先動手使用stl,比如其中的vector,list,stack等,熱熱身,而使用比剖析簡單的多,何樂而不為呢。網上很多仁人志士都推薦《c++標準程式庫》,這本書好!但如果是新手,又急於了解如何使用stl,那麼我更傾向於選擇一般的c++書籍(裡面有簡單的stl使用範例)。另外,還推薦c++ reference站點:更不在話下。注意,如果你已經通讀《c++標準程式庫》,那麼至多是熟練使用stl而已,但不能說精通stl。欲精通stl,必剖之。

工欲善其事,必先利其器,剖析stl你需要做什麼?剖析stl可能需要熟悉c++的基本的語法,了解泛型程式設計等。最後是《stl原始碼剖析》。

私房stl之vector

私房stl之list

私房stl之deque

私房stl之stack與queue

私房stl之一分鐘的heap

私房stl之map和set

私房stl之hashtable

私房stl演算法之全排列

私房stl演算法之快速冪

私房stl之hash_set和hash_map

私房stl之左值和右值

私房stl之函式物件

私房stl之函式配接器

私房stl之迭代器

stl是很實用的工具,用好了就寶貝,對工程有很大的幫助。

ps:取名『私房stl』有點蠻橫霸道,不過最後還是厚顏斗膽為此系列選用此名。喜歡就頂下。

本文完 2012-12-1

搗亂小子

資料結構 STL

棧 先入後出 filo 的一種資料結構。常見操作 模擬火車調頭,進製轉換,表示式求值,單調棧 陣列形式 理解 const int num 1e6 10 定義棧的大小,可自由改變 int stac num 乙個整型棧 int top 棧頂指標 int main top 1 設定棧頂指標為 1 stac...

資料結構 stl

uva 11997 題意 給你乙個數k,並且給你k組數,每組k個數,現在在每組中任取乙個數,然後相加可以得到乙個和,這樣的和共有k k個,要求輸出所有可能的和值中最小的k個。思路 問題1 如果只有a,b,c三個大小為k的陣列,我們如何求 和 能獲得最小的前k個和呢?我們只需要將a和b陣列求出前k小的...

資料結構 stl

1022 心中mmp,很簡單的一道題目,做了兩個小時,改錯乙個半小時,最後錯出在了while的判斷條件上,有什麼區別麼。題意 給出該數字序列的進棧順序,並給出要求的出棧順序,要你判斷是否能按照這個順序出棧。思路 我們只要用兩個指標i和j,指向當前需要處理的入棧和出棧的那個字元即可。先看如果我們把棧s...