学习目标:

算法简介:

5.6.1 set_intersection

功能描述:

函数原型:

示例:

#include <vector>
#include <algorithm>

class myPrint
{
public:
  void operator()(int val)
  {
    cout << val << " ";
  }
};

void test01()
{
  vector<int> v1;
  vector<int> v2;
  for (int i = 0; i < 10; i++)
    {
    v1.push_back(i);
    v2.push_back(i+5);
  }

  vector<int> vTarget;
  //取两个里面较小的值给目标容器开辟空间
  vTarget.resize(min(v1.size(), v2.size()));

  //返回目标容器的最后一个元素的迭代器地址
  vector<int>::iterator itEnd =
        set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), vTarget.begin());

  for_each(vTarget.begin(), itEnd, myPrint());
  cout << endl;
}

int main() {

  test01();

  system("pause");

  return 0;
}

总结:

5.6.2 set_union

功能描述: