diff options
Diffstat (limited to '1_anno/Programmazione_2/algorithms/insertionsort.cc')
-rw-r--r-- | 1_anno/Programmazione_2/algorithms/insertionsort.cc | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/1_anno/Programmazione_2/algorithms/insertionsort.cc b/1_anno/Programmazione_2/algorithms/insertionsort.cc deleted file mode 100644 index 9b309d6..0000000 --- a/1_anno/Programmazione_2/algorithms/insertionsort.cc +++ /dev/null @@ -1,42 +0,0 @@ -#include<iostream> - -using namespace std; - -void insertionsort(int a[], int n) { - for(int i = 1; i < n; ++i) { - int j = i-1; - int key = a[i]; - while(j > -1 && a[j] > key) { - swap(a[j+1], a[j]); - --j; - } - a[j+1] = key; - } -} - -void insertionsort_rec(int a[], int n) { - if(n < 2) return; - insertionsort_rec(a, n-1); - - int key = a[n-1]; - int j = n-2; - - while(j > -1 && a[j] > key) { - swap(a[j+1], a[j]); - --j; - } - - a[j+1] = key; - -} - -int main() { - int arr[10] = {3, 450, 12, 4, -1, 0, 24, 95, 123, 0}; - for(int i = 0; i < 10; ++i) - cout << *(arr+i) << ' '; - cout << endl; - insertionsort_rec(arr, 10); - for(int i = 0; i < 10; ++i) - cout << *(arr+i) << ' '; - return 0; -} |