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/mergesort.cc | |
parent | 4e063e32250312c38d5646840719b62429362b21 (diff) |
chore: name of first year folder
Diffstat (limited to 'I_anno/Programmazione_2/algorithms/mergesort.cc')
-rw-r--r-- | I_anno/Programmazione_2/algorithms/mergesort.cc | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/I_anno/Programmazione_2/algorithms/mergesort.cc b/I_anno/Programmazione_2/algorithms/mergesort.cc deleted file mode 100644 index 68d28cb..0000000 --- a/I_anno/Programmazione_2/algorithms/mergesort.cc +++ /dev/null @@ -1,52 +0,0 @@ -#include<iostream> - -using namespace std; - -void merge(int A[], int l, int q, int r) { - int i = l; - int j = q+1; - int k = l; - int B[r]; - - while((i <= q) && (j <= r)) { - if(A[i] <= A[j]) - B[k] = A[i++]; - else - B[k] = A[j++]; - - k++; - } - - while(i <= q) - B[k++] = A[i++]; - - while(j <= r) - B[k++] = A[j++]; - - for(k = l; k <= r; ++k) - A[k] = B[k]; -} - -void mergesort(int A[], int l, int r) { - if(l < r) { - int q = (l+r)/2; - mergesort(A, l, q); - mergesort(A, q+1, r); - merge(A, l, q, r); - } -} - - -int main() { - int a[] = {7,1,22,3,2,12,27,31,6}; - for(int i = 0; i < 9; ++i) { - cout << a[i] << ' '; - } - cout << endl; - mergesort(a, 0, 8); - for(int i = 0; i < 9; ++i) { - cout << a[i] << ' '; - } - - return 0; -} |