首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vector <int> 中合并相同的数据如何搞

2012-03-09 
vector int 中合并相同的数据怎么搞?如题[解决办法]去除相同的数据?方法一:构建一个二叉大堆阵-----依次

vector <int> 中合并相同的数据怎么搞?
如题

[解决办法]
去除相同的数据?
方法一:构建一个二叉大堆阵-----依次取值,构建
方法二:新建一个vector,然后每取一个数据,就遍历新建的向量组,如果没有相同的就push,否则就丢弃。
[解决办法]

C/C++ code
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(int argc, char* argv[]){    int a[11] = {1, 3, 3, 5, 4, 4, 9, 9, 9, 6};    vector<int> vec(&a[0], &a[10]);    //before unique    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));    cout << endl;        sort(vec.begin(), vec.end());    vec.erase(unique(vec.begin(), vec.end()), vec.end());        //after unique    copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " "));    cout << endl;    system("pause");    return 0;}
[解决办法]
先排序再调用unique去掉相邻的重复数,也可以先把vector转为set再重新转为vector.

热点排行