min和max函数
eg
min(3,5) = 3;
min{1, 2, 3, 4} = 1;
max(5, 7) = 7;
max{1, 2, 3, 4} = 4;
min_element 和 max_element
min_element(st, ed) 返回地址[st, ed)中最小的那个值的地址(迭代器),传入参数为两个地址或迭代器。
max_element(st, ed) 返回地址[st, ed)中最大的那个值的地址(迭代器),传入参数为两个地址或迭代器。
时间复杂度均为O(n),n为数组大小(由传入的参数决定)。
vetor<int> v = {5, 1, 3, 9, 11}; // 初始化V //输出最大的元素,*表示解引用,即通过地址(迭代器)得到值 cout << *max_element(v.begin(), v.end()) << '\n';
nth_element 函数
nth_element(st,k,ed)
进行部分排序,返回值为void()
传入参数为三个地址或迭代器。其中第二个参数位置的元素将处于正确位置,其他地理位置的顺序可能是任意的,但前面的都比它小,后面的都比它大。
时间复杂度O(n)
vector<int> v = {5, 1, 7, 3, 10, 18, 9};//初始化V //输出最大的元素, *表示解引用,即通过地址(迭代器)得到值 nth_element(v.begin(), v.begin() + 3, v.end()); //这里v[3]的位置将会位于排序后的位置,其他的任意 for(auto &i : v) cout << i << " ";
输出
3 1 5 7 9 18 10 |
取小数(保留两位小数)
cout << fixed << setprecision << 1.0*sum / m << '\n';