排序与查找
结构体排序
vector排序
stable_sort()
是对给定区间的元素进行稳定排序,如果两个元素相等,那么排序完成后两个元素的相对位置保持不变
自带的二分
返回大于或等于目标值的第一个位置
返回大于目标值的第一个位置
若目标值存在则返回true,否则返回false
字符串
getline
vector<ST> vi;
sort(vi.begin(),vi.end(),[](ST t1, ST t2){
return t1.first<t2.first;
});
1
2
3
4
vector<int> vi;
sort(vi.begin(),vi.end(),[](int t1, int t2){
return t1<t2;
});
sort(nums.begin(), nums.end(), greater<int>()); //greater:由大变小
1
2
3
4
5
6
int pos = lower_bound(vi.begin(),vi.end(),val) - a.begin();1
int pos = upper_bound(vi.begin(),vi.end(),val) - a.begin();1
bool exist = binary_search(vi.begin(),vi.end(),val);1
string s;
getline(cin,s); //可以读入空格和制表符,以回车符作为结束标志
1
2