标签:nta eric size 输入 include union clu inter 生成
accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。
#include<numeric>
 vector<int> vecIntA; 
 vecIntA.push_back(1);  
 vecIntA.push_back(3);   
 vecIntA.push_back(5);  
 vecIntA.push_back(7);
 vecIntA.push_back(9);     
 int iSum = accumulate(vecIntA.begin(), vecIntA.end(), 100);  //iSum==125 
fill: 将输入值赋给标志范围内的所有元素。
  vector<int> vecIntA;  
  vecIntA.push_back(1); 
  vecIntA.push_back(3);  
  vecIntA.push_back(5); 
  vecIntA.push_back(7);  
  vecIntA.push_back(9);    
  fill(vecIntA.begin(), vecIntA.end(), 8);   //8, 8, 8, 8, 8常用的集合算法
set_union: 构造一个有序序列,包含两个有序序列的并集。
set_intersection: 构造一个有序序列,包含两个有序序列的交集。
set_difference: 构造一个有序序列,该序列保留第一个有序序列中存在而第二个有 序序列中不存在的元素。
 vector<int> vecIntA;  
 vecIntA.push_back(1);  
 vecIntA.push_back(3); 
 vecIntA.push_back(5); 
 vecIntA.push_back(7);  
 vecIntA.push_back(9); 
 
 vector<int> vecIntB; 
 vecIntB.push_back(1); 
 vecIntB.push_back(3);  
 vecIntB.push_back(5);  
 vecIntB.push_back(6);  
 vecIntB.push_back(8); 
 
 vector<int> vecIntC; 
 vecIntC.resize(10);    
 
 //并集 
 set_union(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(),  vecIntC.begin());  //vecIntC : {1,3,5,6,7,8,9,0,0,0}    
 
 //交集 
 fill(vecIntC.begin(),vecIntC.end(),0);  
 set_intersection(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(),  vecIntC.begin());  //vecIntC: {1,3,5,0,0,0,0,0,0,0} 
 
 //差集   
 fill(vecIntC.begin(),vecIntC.end(),0);  
 set_difference(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(),  vecIntC.begin());   //vecIntC: {7,9,0,0,0,0,0,0,0,0} 
 
标签:nta eric size 输入 include union clu inter 生成
原文地址:http://www.cnblogs.com/lsgxeva/p/7793466.html