1.如演算法find在乙個序列中查詢乙個值,返回的結果是指向找到的元素的迭代器(p的型別string::iterator):
// s包含字元c嗎?
bool has_c(const string& s,char c)
1.有多少種容器就有多少種迭代器,有多少種特殊要求就有多少種迭代器
2.如list::iterator是list的迭代器型別
演算法含義
p = find(b, e, x)
p 是 [b:e) 中第乙個滿足 *p == x 的迭代器
p = find_if(b, e, f)
p是 [b:e) 中第乙個滿足 f(*p) == true 的迭代器
n = count(b, e, x)
n是 [b:e) 中滿足 *q == x 的元素 *q 的數目
n = count_if(b, e, f)
n是 [b:e) 中滿足 f(*q) == true 的元素 *q 的數目
replace(b, e, v ,v2)
將 [b:e) 中滿足 *q == v 的元素 *q 替換為 v2
replace_if(b, e, f, v2)
將 [b:e) 中滿足 *q == v 的元素 *q 替換為 v2
p = copy(b, e, out)
將 [b:e) 拷貝到 [out:p)
p = copy_if(b, e, out, f)
將 [b:e) 中滿足 f(*q) == true 的元素 *q 拷貝到 [out:p)
p = unique_copy(b, e, out, f)
將 [b:e) 拷貝到 [out:p),不拷貝連續的重複元素
sort(b, e)
排序 [b:e) 中的元素,用 < 作為排序標準
sort(b, e, f)
排序 [b:e) 中的元素,用 謂詞 f 作為排序標準
(p1, p2) = equal_range(b, e, v)
[p1:p2)是已排序序列 [b:e) 的子串行,其中元素的值都等於v,本質上等價於二分搜尋 v
p = merge(b, e, b2, e2, out)
將兩個序列 [b:e) 和 [b2:e2) 合併,結果儲存到 [out:p)
《C 程式語言》學習筆記2
程式語言 c 學習的指導思想 focus on programming techniques,not on language features.2.1 c 設計思想 1 能提供使用者介面 成員函式 2 只有通過使用者介面才能訪問資料 privite 3 初始化 掃尾 重構,虛構函式 4 使用者 與實...
c語言學習筆記2
陣列 一 陣列定義 一維陣列 型別說明符 陣列名 常量表示式 例如 int a 10 二維陣列 型別說明符 陣列名 常量表示式 常量表示式 例如 float 3 4 多維陣列 例如 float a 2 3 4 字元陣列 與一維陣列類似 說明1.不允許對陣列的大小做動態定義,即陣列的大小不依賴於程式執...
C語言學習筆記(2)
sizeof a sizeof int int a int a 以下四種函式原型是等價的 陣列的單元表達的是變數,需要用 取位址。運算子可對陣列做,也可對指標做 p 0 a 0 運算子可以對指標使用,也可對陣列做 陣列變數是型別const指標,因此不能變賦值 int a int const b 1 ...