unique(STL標準模板庫的函式)

本詞條是多義詞,共4個義項
更多義項 ▼ 收起列表 ▲

這是c++模板的一個函式,在algorithm頭檔案中,有兩個版本的函式聲明template<class _FwdIt> inline

_FwdIt unique(_FwdIt _First, _FwdIt _Last)

template<class _FwdIt,

class _Pr> inline

_FwdIt _Unique(_FwdIt _First, _FwdIt _Last, _Pr _Pred)

前一個是當序列的相鄰的數據相同時,刪除相鄰相同的數字,第二個使用仿函式來替代數列的數字相同這一概念

該函式的精確實現可以搜尋編程範本這本書,這裡給出大概的實現
template<class Iter>
Iter _unique(Iter F1,Iter L1)
{
queue<Iter> Q;
Iter T=_find_adjacent_mismatch1(F1,L1);
while(T!=L1)
{
Q.push(T);
T=_find_adjacent_mismatch1(T,L1);
}
Q.push(L1);
Iter CD=Q.front();
Iter CR=Q.front();
Q.pop();
while(CR!=L1)
{
while(++CR!=Q.front())
*CD=*CR,++CD;
Q.pop();
}
return CD;
}

相關詞條

熱門詞條

聯絡我們