當前位置:成語大全網 - 書法字典 - 字典數組刪除

字典數組刪除

使用matlab中唯壹函數的算法,其思想是先排序,然後找出差異進行比較。以下是matlab unique函數的簡化C++版本,它使用了標準庫中的壹些東西:

#包含?& ltiostream & gt

#包含?& ltvector & gt

#包含?& lt算法& gt

使用?名稱空間?std

模板& lt?鍵入名稱?t?& gt

虛空?獨壹無二(?t?*ary?int?萊恩。向量& lt?t?& gt?& ampva?)

{

//?第壹步是升序。

int?我?=?0;

為了什麽?(?;?我?& lt?len?++i?)

va.push_back(?ary【?我?]?);

std::sort(?va.begin(),va.end()?);

//?第二步:計算排序後的序列的差,差分為0的位置,這意味著值是重復的,需要刪除。

//?第壹個位置的元素始終保留。

為了什麽?(?我?=?萊恩。-?1;?我?& gt=?1;?我嗎?)

如果(?(?va【?我?]?-?va【?我?-1?]?)?==?0?)

va.erase(?va.begin()?+?我?);

}

int?main(int?argc,?char*?argv【】)

{

int?壹個【?10?]?=?{?3,?5,?3,?4,?6,?4,?1,?3,?1,?1?};

向量& lt?int?& gt?va;

獨壹無二(?壹、?10,?va?);

cout?& lt& lt?“原始序列:“?& lt& lt?endl

為了什麽?(?int?我?=?0;?我?& lt?10;?++i?)

cout?& lt& lt?壹個【?我?]?& lt& lt?"?";

cout?& lt& lt?endl

cout?& lt& lt?消除重復數據後?& lt& lt?endl

為了什麽?(?int?我?=?0;?我?& lt?va . size();?++i?)

cout?& lt& lt?va【?我?]?& lt& lt?"?";

cout?& lt& lt?endl

回歸?0;

}