#include <algorithm> #include <iostream> using std::cout; using std::endl; using std::iter_swap; using std::max_element; using std::min_element; int main() { int arr[] = {1, -4, 5, 0, 7}; const size_t SIZE = sizeof(arr)/sizeof(arr[0]); int *beg = arr; int *end = arr+SIZE; int *last = end-1; cout << "Before:" << endl; for (size_t i = 0; i < SIZE; ++i) { cout << arr[ i ] << ' '; } cout << endl; int *min = min_element(beg, end); int *max = max_element(beg, end); iter_swap(beg, max); iter_swap(last, min); cout << "After:" << endl; for (size_t i = 0; i < SIZE; ++i) { cout << arr[ i ] << ' '; } cout << endl; return 0; } |