STL演算法之for each

2021-08-04 01:34:28 字數 673 閱讀 5782

轉接自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 ...