将一组数从小到大排列并且剔除重复项

来源:互联网 发布:网络变压器生产工艺 编辑:程序博客网 时间:2024/04/27 00:38

这个功能涉及到一个数据结构(vector)和三个函数:
1:sort,将这组数字从小到大排列;
2:unique,将相邻且重复的数放到vector的尾部,然后返回指向第一个重复元素的迭代器(需要注意的是,被放在尾部的数据有时会产生变化,所以不能继续使用了,需要废弃掉);
3:erase,擦除重复的数据。
示例代码如下:

#include "stdafx.h"#include <iostream>#include <algorithm>#include <vector>using namespace std;int main(){    vector<int> v;    cout << "please input the number of vector's element" << endl;    int number;    cin >> number;    for (int i = 0; i < number; i++)    {        int temp;        cin >> temp;        v.push_back(temp);   //在vector尾部加入一个数据    }    sort(v.begin(),v.end());    v.erase(unique(v.begin(), v.end()), v.end());    for (int i = 0; i < v.size(); i++)    {        cout << v[i] << " ";    }    system("pause");    return 0;}
0 0