轉接自stl演算法
for_each() 對區間裡每個元素執行相應操作
注: for_each()接受乙個操作,操作可改動所接受實參
所以該實參必須以by reference方式傳遞
#include
#include
#include
using
namespace
std;
// for_each() 對區間裡每個元素執行相應操作
//注: for_each()接受乙個操作,操作可改動所接受實參
//所以該實參必須以by reference方式傳遞
void test(vector
& vec)
; for_each(vec.begin(), vec.end(), f);
}int main()
; for (auto &v : vec)
cout
<< v << ends;
cout
<< endl;
test(vec);
for (auto &v : vec)
cout
<< v << ends;
system("pause");
return
0;}
STL演算法之for each
簡單來將,仿函式 functor 就是乙個過載了 運算子的struct或class,利用物件支援operator 的特性,來達到模擬函式呼叫效果的技術。我們平時對乙個集合類遍歷的時候,例如vector,是這樣做的 1 for vector const iterator iter ivec.begin...
STL之演算法
演算法是指解決問題的方 而完整的描述,對於規範的輸入,在有限時間內要獲得所需要的輸出。不同的演算法可能使用不同的時間 空間或效率完成同樣的任務。想要評估乙個演算法的好壞,目前可以通過時間複雜度和空間複雜度來進行衡量。時間複雜度,是指演算法執行指令所需的計算量。演算法的執行時間和其所要處理的資料之間存...
STL之排序演算法
1.merge 以下是排序和通用演算法 提供元素排序策略 merge 合併兩個有序序列,存放到另乙個序列。例如 vecinta,vecintb,vecintc是用vector宣告的容器,vecinta已包含1,3,5,7,9元素,vecintb已包含2,4,6,8元素 vecintc.resize ...