Merge sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 51:
 
===[[linguaggio C|C]]===
 
#include <stdio.h>
#define N 8
void mergesort(int a[], int left, int right){;
 
void mergesortmerge(int a[], int left, int center, int right);
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 mergemergesort(int a[], int left, int center, int right) {
 
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); {
 
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++]]===