Posted on 2011-04-27 02:53
S.l.e!ep.¢% 閱讀(2039)
評論(0) 編輯 收藏 引用 所屬分類:
C++
STL提供了很多實用的算法,這里主要講解sort和unique算法。
刪除重復元素,首先將vector排序。
sort( vecSrc.begin(), vecSrc.end() );
然后使用unique算法。
?vecSrc.erase( unique( vecSrc.begin(), vecSrc.end() ), vecSrc.end() );
unique返回值是重復元素的開始位置。
如果vector中存儲的元素是自定義的結構或者是類,那么就需要重載操作符。
根據類的某一個成員變量排序或者比較。
sort算法需要重載"<"操作符。
unique算法需要重載"=="操作符。
操作符重載的示例如下:
class CTest
……
public:
??? BOOL operator<( const CTest& oCompany ) const
??? {
??????? return this->m_nCompanyId < oCompany.m_nCompanyId;
??? }
??? BOOL operator==( const CECompany& oCompany ) const
??? {
??????? return this->m_nCompanyId == oCompany.m_nCompanyId;
??? }
}
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/primer_programer/archive/2009/05/21/4206156.aspx