用STL对一组数组进行排序和去重

Posted 村雨sup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用STL对一组数组进行排序和去重相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include<cmath>
#include "algorithm"
#include "cstdio"
#include "stack"
using namespace std;
bool cmp(const int a, const int b)
{
    return a<b;
}

int main()
{
    int n;
    cin >> n;
    int a[n];
    for(int i=0;i<n;i++)
    {
        cin >> a[i];
    }
    sort(a,a+n);
    int m = unique(a,a+n)-a;//地址的差值正好为数组中数据的个数
    cout << m <<endl;
    for(int i=0;i<m;i++)
    {
        cout << a[i] << " ";
    }
    cout << endl;

    return 0;
}

第一:sort不加函数就是按从小到大的顺序进行快排。

第二:unique一般都是用于sort后的去重,实际上是把重复的元素丢到了最后面,返回的是没有重复元素数组的最后一个元素的地址。

以上是关于用STL对一组数组进行排序和去重的主要内容,如果未能解决你的问题,请参考以下文章

javascript实现数组随机排序和去重

如何使用shell脚本快速排序和去重文件数据

记录下js几种常见的数组排序和去重的方法

数组扁平和去重

冒泡排序和去重

冒泡排序和去重