Diferencia ordenación por selección y ordenamiento de burbuja

#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)

Publicado 18 artículos originales · ganado elogios 0 · Vistas 203

Supongo que te gusta

Origin blog.csdn.net/weixin_46456339/article/details/105145487
Recomendado
Clasificación