1. 程式人生 > >C++使用STL::vector刪除陣列內的重複元素

C++使用STL::vector刪除陣列內的重複元素

假設有一組陣列(字元陣列,整數陣列等),需要將裡面重複的元素刪除,一種比較方便的方法就是利用STL::vector,vector中定義了許多的成員函式,通過這一些成員函式的搭配可以方便的實現很多工。
首先,對陣列進行排序:

vector<int> sun;
//向sun新增元素
for (int i = 0; i < n; ++i){
        sun.push_back(primes[i]);
    }
sort(sun.begin(), sun.end());

其次,用erase與unique函式配合就可以將重複的元素從陣列中刪除:

sun.erase(unique(sun.begin
(), sun.end()), sun.end());

earse的功能是刪除指定範圍內的所有函式
unique將相鄰的重複的元素移到最後