首先包含#include
然後看看**:
void
main()
clock_t t4 =
clock()
; cout <<
"nsum3:"
<< nsum3 <<
" time:"
<< t4 - t3 << endl;
system
("pause");
}
結果:
從結果可以看出使用accumulate的演算法比傳統迴圈累加需要的時間少。所以推介使用但僅是容器的情況下快,我在測試普通陣列的時候,反而迴圈更快。
int nsum4 =
accumulate
(begin
(a),
end(a),0
,minus<
int>()
);//0-1-1-1-1-1-...
cout <<
"num4:"
<
int nsum5 =
accumulate
(begin
(a),
end(a),5
, minus<
int>()
);//5-1-1-1-1-1-...
cout <<
"num5:"
<< nsum5 << endl;
int nsum6 =
accumulate
(begin
(a),
end(a),0
,(int x,
int y));
//0-1-1-1-1-1-...
cout <<
"num6:"
<< nsum6 << endl;
int nsum7 =
accumulate
(begin
(a),
end(a),2
,(int x,
int y));
//0-1-1-1-1-1-...
cout <<
"num7:"
<< nsum7 << endl;
STL之演算法
演算法是指解決問題的方 而完整的描述,對於規範的輸入,在有限時間內要獲得所需要的輸出。不同的演算法可能使用不同的時間 空間或效率完成同樣的任務。想要評估乙個演算法的好壞,目前可以通過時間複雜度和空間複雜度來進行衡量。時間複雜度,是指演算法執行指令所需的計算量。演算法的執行時間和其所要處理的資料之間存...
STL演算法之for each
轉接自stl演算法 for each 對區間裡每個元素執行相應操作 注 for each 接受乙個操作,操作可改動所接受實參 所以該實參必須以by reference方式傳遞 include include include using namespace std for each 對區間裡每個元素執...
STL之排序演算法
1.merge 以下是排序和通用演算法 提供元素排序策略 merge 合併兩個有序序列,存放到另乙個序列。例如 vecinta,vecintb,vecintc是用vector宣告的容器,vecinta已包含1,3,5,7,9元素,vecintb已包含2,4,6,8元素 vecintc.resize ...