codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include <iostream> #include <assert.h> void Swap(int& left, int& right) { int tmp = left; left = right; right = tmp; } int Max(const int* arr, int size) { assert(arr); int max_index = -1; for(int i = 0; i < size; ++i) if(arr[i] > arr[max_index]) max_index = i; return max_index; } void Sort(int* arr, int size) { assert(arr); for(int i = 0; i < size - 1; ++i){ int max_index = Max(arr, size - i); Swap(arr[max_index], arr[size - i - 1]); } } int main() { int arr[] = {5, 4, 3, 2, 1,}; const int size = sizeof(arr) / sizeof(arr[0]); Sort(arr, size); for(int i = 0; i < size; ++i) std::cout << arr[i] << " "; std::cout << std::endl; return 0; }
Private
[
?
]
Run code
Submit