Modo de programación del walkie-talkie Motorola
# incluir & ltstdio.h & gt
void Merge(int sourceArr[], int tempArr[], int startIndex, int midIndex, int endIndex)
{
int i = startIndex, j=midIndex+1, k = startIndex
Y (i! = midIndex+1&& ampj! =endIndex+1)
{
if(fuente arr[I]& gt;= fuenteArr[j])
tempArr[k++]= fuente arr [j++];
Otro
tempArr[k++]= fuente arr[i++];
}
Y (I ! = midIndex+1)
tempArr[k++]= fuente arr[i++];
Y (j!= endIndex+1)
tempArr[k++ ]= fuente arr[j++];
for(I = startIndex;i<= endIndexi++)
fuente arr[I]= tempArr[I];
}
//Uso interno de la recursividad
void MergeSort(int sourceArr[], int tempArr[], int startIndex, int endIndex)
{
int midIndex
if(startIndex & lt; endIndex)
{
midIndex =(startIndex+endIndex)/2;
p >MergeSort(sourceArr, tempArr, startIndex, midIndex);
MergeSort(sourceArr, tempArr, midIndex+1, end index);
Merge(sourceArr, tempArr, startIndex) , midIndex, endIndex);
}
}
int main(int argc, char * argv[])
{
int a[8] = {50, 10, 20, 30, 70, 40, 80, 60};
int i, b[8]
MergeSort(a,b,0,7);
for(I = 0;i<8;i++)
printf("%d ",a[I ]);
printf(" \ n ");
Devuelve 0
}