0%

cplusplus小技巧

vector

对元素去重

1
2
3
4
5
6
7
vector<int>ve={0, 0, 1, 1, 2, 3};
ve.erase(unique(ve.begin(), ve.end()), ve.end());
for(auto item : ve){
cout << item << " ";
}
output:
0 1 2 3

set

set

map

map

queue

queue

string

截取子串。

string substr (int pos = 0, int len)

pos起始位置,len截取长度。

bitset

bitset

next_permutation

用来按字典序生成所有当前排列后面的所有排列。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vector<int>arr = {1, 2, 3};
do{
for(auto item : arr){
cout << item << " ";
}
cout << endl;
}while(next_permutation(arr.begin(), arr.end()));
output:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
如果对您有帮助,请我喝杯奶茶?