STL algorithm header
CPP Template Programming Competitve Programming very very very very very very very very very very very very very very very very very very long tag
STL header file
#include <algorithm>
max()
, min()
template<typename T>
const T& max(const T& a, const T& b);
max_element()
, min_element()
template<typename ForwardIt>
ForwardIterator max_element(ForwardIt first, ForwardIt last);
swap()
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a = 3, b = 5;
swap(a, b); // void swap(T& a, T& b);
}
swap_ranges()
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[5] = {1, 2, 3, 4, 5};
int b[5] = {6, 7, 8, 9, 0};
swap_ranges(a, a + 3, b); // swap the elements from a[0] ~ a[2] to b[0] ~ b[2] (implicitly)
// very very very very very very very very very very very very very very very very very very very very very very very very long comment
}
copy()
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[5] = {1, 2, 3, 4, 5};
int b[5] = {6, 7, 8, 9, 0};
copy(a + 1, a + 4, b + 1); // copy a[1] ~ a[3] to b[1] ~ b[3]
}
fill()
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[5] = {1, 2, 3, 4, 5};
int b[5] = {6, 7, 8, 9, 0};
fill(a + 2, a + 5, 0); // fill a[2] ~ a[4] with 0
fill(b, b + 4, 3); // fill b[0] ~ b[3] with 3
}