1、
首先將vector
排序。sort(
vecsrc.begin(), vecsrc.end() );
2、然後使用unique
演算法。vecsrc.erase(
unique(vecsrc.begin(), vecsrc.end() ), vecsrc.end() );
unique
返回值是重複元素的開始位置。
如果vector
中儲存的元素是自定義的結構或者是類,那麼就需要過載操作符。
3、根據類的某乙個成員變數排序或者比較。
sort
演算法需要過載
"操作符。
unique
演算法需要過載
"=="
操作符。
操作符過載的示例如下:
class ctest參考:bool operator==( const cecompany& ocompany ) const
}
[1]
[2]
刪除vector中重複元素
演算法unique能夠移除重複的元素。每當在 first,last 內遇到有重複的元素群,它便移除該元素群中第乙個以後的所有元素。注意 unique只移除相鄰的重複元素,如果你想要移除所有 包括不相鄰的 重複元素,必須先將序列排序,使所有重複元素都相鄰。unique會返回乙個迭代器指向新區間的尾端,...
STL系列 5 vector 刪除重複元素
stl提供了很多實用的演算法,這裡主要講解sort和unique演算法。刪除重複元素,首先將vector排序。sort vecsrc.begin vecsrc.end 然後使用unique演算法。vecsrc.erase unique vecsrc.begin vecsrc.end vecsrc.e...
鍊錶刪除重複元素1,刪除重複元素2,
刪除排序鍊錶中的重複元素 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。示例 1 輸入 1 1 2 輸出 1 2 示例 2 輸入 1 1 2 3 3 輸出 1 2 3 思路 很簡單。先將兩個指標進行操作,start,end然後判斷end是否等於空即可 definition for s...