C++ STL 函式partial_sum的正確使用方法
阿新 • • 發佈:2019-02-01
partial_sum 對於序列 a,b,c,d 產生序列 a,a+b,a+b+c,a+b+c+d。
//本程式例項演示partial_sum函式的正確使用方式 #include <iostream> #include <vector> #include <algorithm> #include <numeric> using namespace std; void print(int ele){ cout<<ele<<","; } //模擬預設partial_sum謂詞函式的功能 int op(int pre_ele,int ele){ return pre_ele+ele; } int main() { vector<int> v1,v2,v3; int dim[]={1,2,3}; v1.assign(dim,dim+3); //初始化v1 cout<<"v1:"<<endl; for_each(v1.begin(),v1.end(),print); //顯示v1 cout<<endl; partial_sum(v1.begin(),v1.end(),back_inserter(v2)); //初始化v2 cout<<"partial_sum處理v1: "<<endl; for_each(v2.begin(),v2.end(),print); //顯示v2 cout<<endl; partial_sum(v1.begin(),v1.end(),back_inserter(v3),op); //自定義謂詞函式模擬預設功能 cout<<"自定義謂詞函式模擬partial_sum處理v1:"<<endl; for_each(v3.begin(),v3.end(),print); cout<<endl; return 0; }