unique() 去重函數

unique()函數是一個去重函數,STL中unique的函數 unique的功能是去除相鄰的重複元素(只保留一個),還有一個容易忽視的特性是它並不真正把重複的元素刪除。他是c++中的函數,所以頭文件要加#include<iostream.h>,具體用法如下:

int num[100];

unique(num,mun+n)返回的是num去重後的尾地址,之所以說比不真正把重複的元素刪除,其實是,該函數把重複的元素一到後面去了,然後依然保存到了原數組中,然後返回去重後最後一個元素的地址,因爲unique去除的是相鄰的重複元素,所以一般用之前都會要排一下序

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int a[10]={1,2,3,4,5,6,7,8,8,9};
    int len = unique(a,a+10)-a;
    printf("%d\n",len);

    for(int i = 0 ; i < len;i++ )
        printf("%d ",a[i]);

    return 0;
}
9
1 2 3 4 5 6 7 8 9
Process returned 0 (0x0)   execution time : 0.265 s
Press any key to continue.





發佈了80 篇原創文章 · 獲贊 16 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章