C++STL
assert()函数
max_element()函数和min_element()函数
时间复杂度O(n)
作用:求C++数组或vector求最大值最小值,二者返回的都是迭代器或指针,可以通过*符号来获得值
max_element()和min_element()函数是一样的用法,这里要注意的是如果有多个最大值或者最小值,返回的是第一次出现的位置。
例如:vector<int> v;
int mx = max_element(v.begin(),v.end()) - v.begin();这样就获得了向量中的最大值第一次出现的位置(向量中的下标)v[mx]才是向量中的最大值
is_sorted()函数
判断一个容器是否按顺序排列(默认为不降序),是则返回true,否则返回false
例如:vector<int> v;v={1,2,2,3,5};
is_sorted(v.begin(),v.end())返回true
unordered_map与map
unordered中文翻译即 “无序的” ,自然地,unordered_map也就是不排序的map的意思。unordered_set与set和unordered_map与map是可以类比的,它们的区别大致是一样的。
unordered_map是不按键值排序的,插入的时间是O(logn),查询时间是O(1)
map是按键值排序的,插入的时间是O(logn),查询时间是O(logn)
unordered_map的使用比较局限,它的key只能是int、double等基本类型以及string,而不能是自己定义的结构体
map可以支持所有类型的键值对