相關函式都包含在中
先列個例項
#include#include#include
#include
#include
#include
using
namespace
std;
void
main()
; vector
iv(ia, ia+5
);
cout
<0)
<0, minus())
<10)
<10, minus(), plus())/把迭代器繫結到cout上,作為輸出用
ostream_iterator oite(cout, "");
partial_sum(iv.begin(), iv.end(), oite);
cout
());
cout
cout
());
cout
/非標準函式
//coutcout<())int n = 3;
//iota(iv.begin(), iv.end(), n);
//for (int i=0; i//
coutpause");
}
accumulate(first, last, init [,binary_op])return
init
}
adjacent_difference(first, last, result [,binary_op])__adjacent_difference(first, last, result, t*)
return ++result;
}
inner_product(first1, last1, first2, init [, binary_op1, binary_op2])return
init;
}
partial_sum(first, last, result [,binary_op])if(first ==last)
return
result;
*result = *first; //
result開始的迭代器放置結果
return
__partial_sum(first, last, result, value_type(first) [,binary_op]);
}__partial_sum(first, last, result, t*)
return ++result;
}
pow為sgi專屬,不在stl標準之列,對自己進行某種運算n次,預設為冪運算
iota用來改變某個特定區間的內容,使其每個元素從指定的value開始,呈現遞增的狀態
STL原始碼剖析之數值演算法
一 accumulate 作用 初始化init,對區間 first,last 的迭代器i執行init i或init binaryop init,i template 版本1,用來計算init和 first,last 區間元素的總和 tp accumulate inputiterator first,...
STL之deque原始碼剖析
deque是一種那個雙向開口的連續線性空間,其頭尾端做元素的插入和刪除效率比vector效率高很多。deque和vector的最大差異,一在於deque允許常數時間內對頭尾端進行元素插入或移除操作,二在於deque沒有所謂容量概念,因為它是動態地分段連續空間組合而成,隨時可以增加一段新的空間並鏈結起...
STL原始碼剖析之vector
向量vector 1.vector概述 vector的資料安排以及操作方式,與array非常相似。兩者的唯一差別在於空間的運用的靈活性。array是靜態空間,一旦配置了就不能改變 vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。vector的實現技術,關鍵在於其對大小...