即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

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

编程语言 qq_25718147 15℃ 0评论

这个功能涉及到一个数据结构(vector)和三个函数:


1:sort,将这组数字从小到大排列;


2:unique,将相邻且重复的数放到vector的尾部,然后返回指向第一个重复元素的迭代器(需要注意的是,被放在尾部的数据有时会产生变化,所以不能继续使用了,需要废弃掉);


3:erase,擦除重复的数据。


示例代码如下:

#include "stdafx.h"
#include 
#include 
#include 
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;
}

转载请注明:CodingBlog » 将一组数从小到大排列并且剔除重复项

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情