stl模板庫vector源碼 C 中怎么用erase()刪除vector中重復(fù)的元素?
C 中怎么用erase()刪除vector中重復(fù)的元素?假設(shè)有一組數(shù)組(字符數(shù)組、整數(shù)數(shù)組等),其中需要?jiǎng)h除重復(fù)的元素。更方便的方法是使用STL::vector,其中定義了許多成員函數(shù)。通過這些成員
C 中怎么用erase()刪除vector中重復(fù)的元素?
假設(shè)有一組數(shù)組(字符數(shù)組、整數(shù)數(shù)組等),其中需要?jiǎng)h除重復(fù)的元素。更方便的方法是使用STL::vector,其中定義了許多成員函數(shù)。通過這些成員函數(shù)的搭配,可以很容易地實(shí)現(xiàn)許多任務(wù)。
首先,對(duì)數(shù)組進(jìn)行排序:
1。向量< int> sun
2。//向sun添加元素
3。對(duì)于(int i=0 i< n i){
4sun.push后退(質(zhì)數(shù)[i])
5。}
6.排序(太陽。開始(), 太陽.end())
其次,使用擦除和唯一功能可以從數(shù)組中刪除重復(fù)元素:
1太陽。擦除(唯一(太陽。開始(), 太陽.end()), 太陽.end())
earse的功能是刪除指定范圍內(nèi)的所有函數(shù)
unique將相鄰的重復(fù)元素移到最后
STL里面的vector是否線程安全?
我記得STL基本上是線程不安全的。您需要使用互斥和其他線程同步機(jī)制來確保要使用的對(duì)象的線程安全。
不知道如何詳細(xì)計(jì)算,歡迎詢問。