Merge sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 101:
===[[C (linguaggio)|C]]===
<source lang="C">
#include <stdio.h>
#define LEN 8
 
void merge(int a[], int left, int center, int right) {
int i, j, k;
{
int i, j, kb[LEN];
 
int b[LEN];
i = left;
i j = leftcenter+1;
j k = center+10;
 
k = 0;
while ((i<=center) && (j<=right)) {
while if ((a[i] <=center) && (a[j<=right)]) {
b[k] = a[i];
{
i++;
if (a[i] <= a[j])
} else {
{
b[k] = a[ij];
ij++;
}
 
else
k++;
{
}
b[k] = a[j];
 
j++;
while (i<=center) {
}
b[k] = a[i];
ki++;
k++;
}
}
 
while (i<=center)
while (j<=right) {
{
b[k] = a[ij];
ij++;
k++;
}
 
while for (jk=left; k<=right); k++)
a[k] = b[k-left];
{
}
b[k] = a[j];
 
j++;
void mergesort(int a[], int left, int right) {
k++;
int center;
}
 
for if(k=left; k<=right;) k++){
a[k]center = b[k-(left]+right)/2;
mergesort(a, left, center);
}
mergesort(a, center+1, right);
void mergesort merge(int a[], int left, intcenter, right);
}
{
}
int center;
 
int main(void) {
if(left<right)
int a[LEN], i;
{
center = (left+right)/2;
for(i=0; i<LEN; i++) {
mergesort(a, left, center);
printf(": ");
mergesort(a, center+1, right);
scanf("%d", &a[i]);
merge(a, left, center, right);
}
 
}
mergesort(a, 0, LEN-1);
 
int main(void)
printf("[ ");
{
 
int a[LEN], i;
for(i=0; i<LEN; i++)
for printf(i=0;"%d ", a[i<LEN]); i++)
 
{
printf(": ]\n");
 
scanf("%d", &a[i]);
return 0;
}
}
mergesort(a, 0, LEN-1);
printf("[ ");
for(i=0; i<LEN; i++)
printf("%d ", a[i]);
printf("]\n");
return 0;
}
</source>