summaryrefslogtreecommitdiff
path: root/1_anno/Programmazione_2/algorithms/selectionsort.cc
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2021-02-06 19:56:36 +0100
committerSanto Cariotti <santo@dcariotti.me>2021-02-06 19:56:36 +0100
commitd2edbc38cac8da52f58c5cd3da6c0c625fa05736 (patch)
treea51e9a4e56fc9d4c7c9e37576dceedca3a0c72b4 /1_anno/Programmazione_2/algorithms/selectionsort.cc
parent98f34040820dc3a964b7be59a698323e8cc6c8a3 (diff)
conf: rename
Diffstat (limited to '1_anno/Programmazione_2/algorithms/selectionsort.cc')
-rw-r--r--1_anno/Programmazione_2/algorithms/selectionsort.cc46
1 files changed, 0 insertions, 46 deletions
diff --git a/1_anno/Programmazione_2/algorithms/selectionsort.cc b/1_anno/Programmazione_2/algorithms/selectionsort.cc
deleted file mode 100644
index 57dcc17..0000000
--- a/1_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;
-}