#include <stdio.h>
#define N 10
int main()
{//从大到小
int a[N]={2,17,8,3,24,53,82,1,29,101};
int i,j,k,t;
for(i=0;i<9;i++)
{ k=i;//a
for(j=i+1;j<10;j++)
{ // b a
if(a[j] > a[k]) //这是拿固定元素来比较,是选择排序
//如果k没有变化,说明是最大的,不需要换所以应该取反
{
t=a[j];//交换两个位置 a[i]和最后一个比他大的换位置,后面再换
a[j]=a[i];
a[i]=t;
}
}
}
for(i=0;i<9;i++)
printf("%d ",a[i]);
return 0;
}
Seleccione Ordenar
k no va a cambiar (porque k determinar cuál de anillo), significa que este elemento ha sido tomar una posición en la espalda y cada elemento de comparación, si es más joven que él, va a cambiar el número, a continuación, proceder relativamente, es decir, uno abajo, puede directamente más grande en la parte delantera.
// equivalente a proporcionar primero para el anillo
Burbuja Ordenar
excepto para el último elemento que se compara, mediante la comparación del ciclo de la segunda capa, cada comparación y la posición de conmutación que se determine, la mayoría de veces cada vez que se determine, el número de máximo o mínimo en la final , dos elementos adyacentes de comparación (dijo de pronto muy claramente ordenamiento de burbuja)