C++ 常用集合算法
生活随笔
收集整理的這篇文章主要介紹了
C++ 常用集合算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using namespace std;/*
set_intersection算法 求兩個set集合的交集
注意:兩個集合必須是有序序列
@param beg1 容器1開始迭代器
@param end1 容器1結束迭代器
@param beg2 容器2開始迭代器
@param end2 容器2結束迭代器
@param dest 目標容器開始迭代器
@return 目標容器的最后一個元素的迭代器地址
*/
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());copy(vTarget.begin(), itEnd, ostream_iterator<int>(cout, " "));}/*
set_union算法 求兩個set集合的并集
注意:兩個集合必須是有序序列
@param beg1 容器1開始迭代器
@param end1 容器1結束迭代器
@param beg2 容器2開始迭代器
@param end2 容器2結束迭代器
@param dest 目標容器開始迭代器
@return 目標容器的最后一個元素的迭代器地址
*/
void test02()
{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(v1.size()+v2.size());vector<int>::iterator itEnd = set_union(v1.begin(), v1.end(), v2.begin(), v2.end(), vTarget.begin());copy(vTarget.begin(), itEnd, ostream_iterator<int>(cout, " "));}/*
set_difference算法 求兩個set集合的差集
注意:兩個集合必須是有序序列
@param beg1 容器1開始迭代器
@param end1 容器1結束迭代器
@param beg2 容器2開始迭代器
@param end2 容器2結束迭代器
@param dest 目標容器開始迭代器
@return 目標容器的最后一個元素的迭代器地址
*/
void test03()
{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( max(v1.size(),v2.size() ));//v1差v2vector<int>::iterator itEnd = set_difference(v1.begin(), v1.end(), v2.begin(), v2.end(), vTarget.begin());copy(vTarget.begin(), itEnd, ostream_iterator<int>(cout, " "));cout << endl;//v2 差 v1itEnd = set_difference(v2.begin(), v2.end(), v1.begin(), v1.end(), vTarget.begin());copy(vTarget.begin(), itEnd, ostream_iterator<int>(cout, " "));}int main(){//test01();//test02();test03();system("pause");return EXIT_SUCCESS;
}
總結
以上是生活随笔為你收集整理的C++ 常用集合算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 常用算数生成算法
- 下一篇: C++ 执行cmd命令 并获取输出