Red de conocimientos sobre prescripción popular - Remedios caseros - El lenguaje C ordena matrices de números enteros por segmentos, con números pares delante y números impares detrás, de pequeño a grande.

El lenguaje C ordena matrices de números enteros por segmentos, con números pares delante y números impares detrás, de pequeño a grande.

#¿Incluir? ltstdio.h gt

#¿Contiene? ltconio.h gt

¿#Definición? Ryan. 100?/*Longitud máxima de la matriz*/

#Definición? tipo de elemento? int? /*Tipo de elemento*/

/*Matriz de entrada*/

¿No es válido? entradaArr? (elemType?arr[],?int?len)? {

int? Yo;

¿Para qué? (I = 0;?i ltlen?i )

escanear? (" d ", amparr[I]);

putchar? ('\n');

}

/*Ordenar en orden ascendente de burbujas*/

/*Descripción del parámetro:*/

/*int? Arr[]: Ordenar matriz de destino */

/*int? Len: Número de elementos*/

¿No válido? burbujaOrdenarAsc? (elemType?arr[],?int?len)? {

elemType? Temperatura;

int? I,? j;

¿Para qué? (I = 0;?i ltlen-1;?i)? /*El bucle externo controla el número de pases de clasificación, el número de len-1 es len-1 */

¿Para qué? (j = 0;j ltlen-1-I;?j)? {?/*El número de comparaciones en cada paso del bucle interno, el paso j compara len-j veces*/

¿Y si? (arr[j]? gt? arr[j 1])? {?/*Comparar elementos adyacentes e intercambiar el orden inverso*/

¿Trabajadores temporales? =?arr[j];

arr[j]? =?arr[j 1];

arr[j 1]? =?Temperatura;

}

}

}

/*Imprimir matriz*/

¿No es válido? imprimirArr? (elemType?arr[],?int?len)? {

int? Yo;

¿Para qué? (I = 0;?i ltlen?i )

printf? (" d\t ", arr[I]);

putchar? ('\n');

}

int? ¿principal? (anulado)? {

elemType? arr[LEN];

elemType? arrod[LEN],? arr incluso[LEN];? /*Almacenar números pares e impares*/?

int? Ryan.

¿Odrún? EvenLen

int? I,? j? ,k;

imprimirf? ("Ingrese la longitud de la matriz:");

scanf? (" d ", amplio);

printf? ("Ingrese el contenido de la matriz:\n");

inputArr? (arr,?len);

/*Primero separe los pares e impares, luego ordene por separado y finalmente fusione*/

¿Para qué? (i=0,?j=0,?k=0;?i ltlen?i)? {

¿Y si? (arr[i]2)? {

arrod[j]? =?arr[I];

j;

}

¿Y si? {

arrEven[k]? =?arr[I];

k;

}

}

Odrun? =?j;

evenLen? =?k;

bubbleSortAsc? (arrOdd,?Odrun);

bubbleSortAsc? (Aruiwen,?even len);

¿Para qué? (k=0,?I = 0;?k ltevenLen?k,?i)

arr[i]? =?arrEven[k];

¿Para qué? (j = 0;?j ltOdrun;?j,?i)

arr[i]? =?arr impar[j];

printArr? (arr, len);

putchar? ('\n');

¿obtener? ();? /*Persistencia de pantalla*/

¿Gratis? (arr);

¿Volver? 0;

}Resultados de la ejecución

Nota: La parte de la matriz de entrada se omite en los resultados de la ejecución.