重排容器演算法 知識點

2021-09-10 12:01:28 字數 672 閱讀 8837

知識點

泛型演算法中的重排容器演算法,以及演算法中常見的lambda表示式用法。

知識內容

vector容器是乙個順序容器,初始化方法是; 排序演算法是sort(vector.begin(), vector.end());剔重演算法是unique(vector.begin(),vector.end()),返回指向末尾的迭代器;刪除演算法是erase(vector.unique, vector.end())。

stable_sort演算法穩定排序,儲存相同元素在原序列的位置不變。

lambda表示式的形式是

[捕獲列表](引數列表)->返回型別

看成是乙個匿名函式,它的引數列表是由乙個列表的元素自動指定,它的捕獲列表是列表之外的變數賦值。常見的場景是如果排序有特殊的要求,要求不超過某個數,那麼這個數可以作為變數放在捕獲列表中。

對於例子[sz](const string &a) ,解釋是sz是字串的長度的下限,對字串a的過濾條件是a的長度大於等於sz。

for_each演算法是對範圍內每個元素執行函式操作,可以是列印元素等

for(auto str:words)是遍歷乙個列表的簡寫形式,之前用for(auto it = words.begin(); it != words.end(); it++)顯得長的。

其他泛型演算法很有用,記錄下來,方便後面使用。

鏈結

容器Map小知識點

map介面 1,提供了一種對映關係,元素以鍵值對 key value 的形式存在,根據key快速查詢value。key為鍵,value為值。2,以entry 條目 型別的物件例項存在 包含key value兩部分存在,乙個entry有且只有一對key value 3,key值不可重複,value值可...

vector 容器知識點彙總

一 vector定義 向量 vector 是乙個封裝了動態大小陣列的順序容器。簡單來說,就是可以定義乙個任意大小的陣列,其中包含各種使用的函式操作,故在程式設計時一般使用vector容器來定義陣列。vector a 定義乙個一維int型別陣列 vector a 3,1 定義乙個陣列的最大容量為3,並...

前端知識點分析 重排和重繪

document.write重排整個頁面 innerhtml可以重繪頁面的一部分 1 構建dom樹 parse 渲染引擎解析html文件,首先將標籤轉換成dom樹中的dom node 包括js生成的標籤 生成內容樹 content tree dom tree 2 構建渲染樹 construct 解析...