diff options
author | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-18 18:56:43 +0200 |
---|---|---|
committer | Santo Cariotti <dcariotti24@gmail.com> | 2020-10-18 18:59:42 +0200 |
commit | 6c6328375c55683645146909b7ab760d0de0d463 (patch) | |
tree | b18e695dfe7a10064fed111649253dc2c77208bf /I_anno/Programmazione_2/algorithms/selectionsort.cc | |
parent | 4e063e32250312c38d5646840719b62429362b21 (diff) |
chore: name of first year folder
Diffstat (limited to 'I_anno/Programmazione_2/algorithms/selectionsort.cc')
-rw-r--r-- | I_anno/Programmazione_2/algorithms/selectionsort.cc | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/I_anno/Programmazione_2/algorithms/selectionsort.cc b/I_anno/Programmazione_2/algorithms/selectionsort.cc deleted file mode 100644 index 57dcc17..0000000 --- a/I_anno/Programmazione_2/algorithms/selectionsort.cc +++ /dev/null @@ -1,46 +0,0 @@ -#include<iostream> -#include<algorithm> - -using namespace std; - -void selectionsort(int a[], int n) { - for(int i = 0; i < n-1; ++i) { - int min = i; - for(int j = i+1; j < n; ++j) { - if(a[j] < a[min]) - min = j; - } - - swap(a[min], a[i]); - } -} - -int min_i(int a[], int i, int j) { - if(i == j) return i; - - int k = min_i(a, i+1, j); - return (a[i] < a[k]) ? i : k; -} - -void selectionsort_rec(int* a, int b, int e=0) { - if(b == e) return; - - int key = min_i(a, e, b-1); - if(key != e) - swap(a[key], a[e]); - - selectionsort_rec(a, b, e+1); -} - -int main() { - int arr[] = {3,450,12,4,-1,0,24,95,123,0}; - for(int i = 0; i < 10; ++i) { - cout << *(arr+i) << ' '; - } - cout << endl; - selectionsort_rec(arr, 10); - for(int i = 0; i < 10; ++i) { - cout << *(arr+i) << ' '; - } - return 0; -} |