c vector去重與不規則二維陣列的方法

2021-10-08 01:42:33 字數 1451 閱讀 3445

c++vector去重的兩種方法:

第一種使用set:

#include

#include

#include

using

namespace std;

intmain()

;int len =

sizeof

(myints)

/sizeof

(int);

vector<

int>

vec(myints, myints + len)

; set<

int>

s(vec.

begin()

, vec.

end())

; vec.

assign

(s.begin()

, s.

end())

;for

(int x : vec)

cout << x <<

",";

return0;

}

第二種是用erase和unique函式結合達到去重的目的,unique()函式將相鄰且重複的元素放到vector的尾部 然後返回指向第乙個重複元素的迭代器再用erase函式擦除從這個元素到最後元素的所有的元素。注意要先排序:

#include

#include

#include

using

namespace std;

intmain()

;int len =

sizeof

(myints)

/sizeof

(int);

vector<

int>

vec(myints, myints + len)

;sort

(vec.

begin()

, vec.

end())

; vec.

erase

(unique

(vec.

begin()

, vec.

end())

, vec.

end())

;for

(int x : vec)

cout << x <<

",";

return0;

}

c++不規則二維陣列:

如:這種二維陣列,使用vector:

vector<

int> id;

id.push_back(55

);id[1].

push_back(66

);//id.

push_back(77

);//等價於,}

php二維陣列去重

方法一 傳入引數 array二維陣列,unique唯一碼 二維陣列去重,傳出 二維陣列 public function array unique array,unique if in array value unique uni return out 方法二 傳入引數 array二維陣列,uniqu...

JS二維陣列去重

在網上找了很多的js二維陣列去重的方法,基本上都有bug,不是去除不完全就是只能根據特定的條件去除,或者去除了非重複元素。專案中需要解決這個問題,所以自己寫了乙個方法,方便自己也方便他人,本人已測試過很多資料,修復了很多bug,如果發現了bug,懇請提出,本人再改進。如下 var arr 1,2,h...

php 二維陣列去重

一維陣列的重複項 使用array unique函式即可,使用例項如下 如下 複製 二維陣列去重項 如下 複製 例如 result array 0 array a 1,b hello 1 array a 1,b other 2 array a 1,b other 處理成 result array 0 ...