Red de conocimiento informático - Conocimiento sistemático - Precauciones para la programación de compuestos de fresado y torneado de nueva generación Zexin CNC

Precauciones para la programación de compuestos de fresado y torneado de nueva generación Zexin CNC

Sub MergeSort(Array() Como entero, primero como entero, último como entero)

Dim mid como entero = 0

Si primero, último entonces

mid = (primero, último)\ 2

MergeSort(Array, primero, mid);

MergeSort(Array, mid 1, last);

Fusionar(Matriz, primero, medio, último);

Finalizar si

End Sub

/*

El siguiente El código de muestra implementa la operación de fusión. array[] es una secuencia de elementos, desde el índice p hasta la posición q, se organizan en orden ascendente. Al mismo tiempo, desde (q 1) hasta r, también se organizan en orden ascendente. ) La función fusionará estas dos subsecuencias ordenadas Combinadas en una secuencia ordenada. Los resultados se ponen en una matriz.

*/

/**

* 0 lt; = p lt; = q r, matriz de subarreglo[p..q] [q 1..r] ya están ordenados.

* la función merge() fusiona las dos submatrices en una matriz ordenada.

*/

void Merge(int array[], int p, int q, int r)

{

int i, k

int begin1, end1, comenzar2, finalizar2;

int* temp = (int*)malloc((r-p 1)*sizeof(int)); final1 = q;

comienzo2 = q 1;

final2 = r

k = 0

mientras((comienzo1 lt; ;= end1)&(begin2 lt;= end2))

{

if(array[begin1] lt;= array[begin2]){

temp[k] = matriz[comienzo1];

comenzar1

}

más

{

temp[k] = matriz[comienzo2];

comenzar2 ;

}

k

}

<; p> while(begin1lt;=end1 || begin2lt;=end2)

{

if(begin1lt;=end1)

{

temp[k ] = matriz[begin1 ];

}

if(begin2lt;=end2)

{

temp [k] = matriz[begin2];

}

}

para (i = 0; i lt; =(r - p); i )

matriz[p i] = temp[i]

libre(temp)

}