Merge sort: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 51:
===[[linguaggio C|C]]===
#include <stdio.h>
#define N 8
void
main() {▼
void merge(int a[], int left, int center, int right);▼
int a[N], k;▼
▲main() {
▲int a[N], k;
for(k=0; k<N; k++){
scanf("\t%d ", &a[k]);
}▼
mergesort( a, (0), (N-1));▼
▲}
▲mergesort( a, (0), (N-1));
for(k=0; k<N; k++){
printf("\t%d ", a[k]);
}▼
}
▲}
▲void mergesort(int a[], int left, int right){
int center;
if (left<right){
Riga 81 ⟶ 73:
merge(a, left, center, right);
}
}
▲void merge(int a[], int left, int center, int right) {
int i, j, k;
int b[10];
i = left; j = center+1; k = 0;
while ((i<=center) && (j<=right)){
if (a[i] <= a[j]) { b[k] = a[i]; i++; }
Riga 100 ⟶ 89:
b[k] = a[j]; j++; k++;
}
for (k=left; k<=right; k++)
a[k] = b[k-left];
}
===[[C++]]===
| |||