C 學習筆記 stl

2021-10-01 20:20:21 字數 2613 閱讀 7442

最近在網上自學c++ 看到容器這塊覺著有點散 就自己打了一遍方便之後查詢

建構函式

賦值操作

拼接

查詢

替換

比較

字元訪問

插入和刪除

擷取字串

可動態擴充套件 單端陣列 從尾部插入刪除元素方便 支援迭代器的跳躍隨機訪問(vector::iterator+n)

建構函式

賦值操作

容量和大小

插入和刪除

資料訪問

容器資料互換

預留空間

雙端陣列 頭、尾部插入刪除元素方便 支援迭代器的跳躍隨機訪問(deque::iterator+n)

建構函式

賦值操作

容量和大小

插入和刪除

資料訪問

排序

棧  後進先出

建構函式

賦值操作

容量和大小

資料訪問

先進先出 一端新增 一端刪除 不允許遍歷  隊頭出 隊尾入

建構函式

賦值操作

容量和大小

資料訪問

非連續儲存結構體由多個節點組成 每個節點有兩個部分--資料域(存放資料)和指標域(指向下一節點的資料域) 方便任意位置快速插入 刪除 修改

建構函式

賦值和交換

容量和大小

插入和刪除

資料訪問

反轉和排序

元素在插入時自動排序 不能插入相同元素(multiset 和set一樣 但是可以重複插入資料)

建構函式

賦值

插入和刪除

返回乙個 _paerid (pari)    pariiterator,bool> ret = s.insert(elem) if(ret.second) 插入成功 

交換和大小

查詢和統計

*排序 在建立時可規定排序方法 在宣告部分 加入乙個仿函式名作為引數 sets 重寫 "()"

class mycompare

}** 對組pair pairp(type,type) -- pairp("name",19age)

pairp = make_pair(type,type) --pairp = make_pair("name",19age)

使用p.first和p.second 訪問

所有元素都是對組pair pari中的第乙個元素key起到索引的作用 第二個元素為value 值 類似c#的字典 可快速根據key找到value   該資料結構在插入時根據 pari的key自動排序 map不可以插入重複key值的元素 multimap可以

建構函式

插入

賦值

交換和大小

插入和刪除

查詢和統計

*排序 在建立時可規定排序方法 在宣告部分 加入乙個仿函式名作為引數 maps    重寫"()"

class mycompare

}算數仿函式:

關係仿函式:

邏輯仿函式:

常用遍歷演算法:

常用排序方法:

常用拷貝和替換演算法

常用算數生成演算法:

常用集合演算法:

** 上訴所有涉及到要新建容器的時 不要忘記申請容器大小。

*/

C 學習筆記 STL概述

c 語言的核心優勢就是便於軟體的重用。c 中有兩個方面體現重用 1.物件導向的思想 繼承和多型,標準類庫 2.generic programming 泛型程式設計 的思想 模板機制以及標準模板庫 stl 也就是說使用模板的程式設計。stl standard template library 就是一些...

C 學習筆記 STL簡介

stl 標準模板庫 標準模板庫,一般支援c 的編譯器都帶了stl的支援。裡面提供了大量的函式模板 通用演算法 和類模板。一般用法 1 標頭檔案 stl的標頭檔案都是不帶.h字尾的.例 include 2 名字空間 stl使用名字空間std,因此可能需要使用using namespace std 或者...

C 學習筆記之 STL 佇列

一.引言 在演算法以及資料結構的實現中,很多地方我們都需要佇列 遵循fifo,先進先出原則 為了使用佇列,我們可以自己用陣列來實現佇列,但自己寫太麻煩不說,並且還很容易出錯。好在c 的stl 標準模板庫 為我們實現了乙個強大的佇列,它包含在標頭檔案中。二.queue a 建構函式 下面用例子來展示q...