Red de conocimiento informático - Espacio del host - Cómo programar torneado manual fresado rosca m36

Cómo programar torneado manual fresado rosca m36

#include

#include

void Merge(int sourceArr[],int tempArr[], int startIndex , int midIndex, int endIndex)

{

int i = startIndex, j=midIndex+1, k = startIndex;

while(i!=midIndex +1 && j!=endIndex+1)

{

if(sourceArr[i] >= sourceArr[j])

tempArr[k++] = sourceArr[j++];

else

tempArr[k++] = sourceArr[i++];

}

while(i != midIndex+1)

tempArr[k++] = sourceArr[i++];

while(j != endIndex+1)

tempArr[k++] = sourceArr [j++];

for(i=startIndex; i<=endIndex; i++)

sourceArr[i] = tempArr[i];

}

//Uso interno de recursividad

void MergeSort(int sourceArr[], int tempArr[], int startIndex, int endIndex)

{

int midIndex;

if(startIndex < endIndex)

{

midIndex = (startIndex + endIndex) / 2;

MergeSort(sourceArr, tempArr, startIndex, midIndex);

MergeSort(sourceArr, tempArr, midIndex+1, endIndex);

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;

}