Disposición de matriz de programación en lenguaje C
Usar el algoritmo de clasificación puede satisfacer la pregunta
También puedes usar el siguiente programa, que solo realiza 3 intercambios
#include?lt; ;
int?main(void)
{ int?i=1, j=9,k;? int?a[10]?=?{?5, 3, 2 , 1, 6, 7, 9, 8, 0, 4}; while(1) {
//Encuentra el primer número mayor que a[0] de adelante hacia atrás
i=1;
while(a[i]lt; a[0])?i
//Encuentra el primero menor que a[0] desde atrás; al frente número
j=9;
while(a[j]gt;a[0])?j--;
// Salte del bucle, los números menores que a[0] y mayores que a[0] han sido ordenados
if(igt;j)?break;
//Intercambio
k?=?a[i];
a[i]?=?a[j];
a [j]?=?k;
//Matriz de salida
for(i=0; ilt; 10; i )
{
? printf("d?",?a[i]);
}
printf("\n); "); } //Encuentra el primer número i=1 mayor que a[0] de adelante hacia atrás; while(a[i]lt;a[0])?i; //Intercambia a[0] y a[ i-1] k ?=?a[0]; a[0]?=?a[i-1]; a[i-1]?=?k //Resultado de salida para(i=0;ilt; 10;i) {
printf("d?",?a[i] } printf("\n"); retorno
}