C 學習筆記 unique及erase的聯合運用

2021-08-02 13:47:46 字數 536 閱讀 8972

c++學習筆記—unique及erase的聯合運用

原文:

在stl中unique函式是乙個去重函式,unique的功能是去除相鄰的重複元素(只保留乙個),其實它並不真正把重複的元素刪除,是把重複的元素移到後面去了,然後依然儲存到了原陣列中,然後返回去重後最後乙個元素的位址,因為unique去除的是相鄰的重複元素,所以一般用之前都會要排一下序

sort,unique和erase的聯合使用,可以將乙個有重複元素的陣列的重複元素去除,從而轉化成乙個無重複元素的陣列

end_unique=unique(result.begin(),result.end());

result.erase(end_unique,result.end());

由於 end_unique返回去重後最後乙個元素的位置,而重複的元素都被移動到後面去了,所以要將從去重後最後乙個元素的位址到 原陣列最後乙個位址 這些位址中的元素去掉,從而得到無重複元素的陣列

STL 官網學習筆記 unique

1 unique,顧名思義,就是給容器內的連續的元素去重,這些連續重複的元素中只保留最前面的那乙個 2 unique是穩定的,去重後,剩餘的元素順序是不變的 3 需要標頭檔案 algorithm 4 unique有兩個方法,乙個是用預設的方式來定義重複元素,另一種是以自定義方式來判斷是否是重複元素 ...

C 學習 原創 unique和uni

c 學習 原創 unique和unique copy函式的應用 孫宇洪 unique函式的功能是 去除相鄰的重複元素 只保留乙個 函式引數 unique first,last,compare first為容器的首迭代器,last為容器的末迭代器,compare為比較函式 可略寫 注意 unique函...

c及c 學習筆記 typedef的妙用

typedef的妙用 typedef給你一種方式來克服 只適合於變數而不適合於型別 的弊端。你可以如下使用typedef typedef char pchar pchar p,q 這裡的 p 和 q 都被宣告為指標。如果不使用 typedef,q 將被宣告為乙個 char 變數,這跟我們的第一眼感 ...