Selección, burbujeo e inserción 3 resumen de clasificación simple

Selección, burbujeo e inserción 3 resumen de clasificación simple

Seleccionar ordenar

Operación: Comenzando desde la posición 0, compare gradualmente con 1, 2, 3 ... n-1, y reemplace el número más pequeño a la posición 0; comenzando desde la primera posición, compare gradualmente con 2, 3, 4 ... n- 1 Para comparar, reemplace el segundo número más pequeño por el primer lugar y así sucesivamente.

Características: Al atravesar los datos no fijos, encuentre el valor más pequeño y fíjelo en la posición correspondiente en orden ascendente. Repita esta operación hasta que la longitud de los datos no fijos sea 0.

Complejidad de tiempo: O (n²)

Código:

let length = 5;
let arr = new Array(length);
for(let i = 0;i<length;i++){
    
    
    arr[i] = length - i;
}
let num;
for(let i = 0;i<length-1;i++){
    
    
    for(let j = i+1;j<length;j++){
    
    
        if(arr[i] > arr[j]){
    
    
            num = arr[i];
            arr[i] = arr[j];
            arr[j] = num;
        }
    }
}

Ordenamiento de burbuja

Operación: Compare el lugar 0 con el primer lugar, organice los valores numéricos de pequeño a grande, luego compare el primer lugar con el segundo lugar, y también organice los valores numéricos de pequeño a grande ... hasta que la n -2 ° lugar y el primer lugar Comparando n-1 dígitos, el número más grande se reemplaza con n-1 dígitos; comparando el 0 ° dígito con el primer dígito, ordenando los valores de pequeño a grande y luego comparando el primer dígito con el segundo dígito y el mismo valor Organizar de menor a mayor ... hasta que el n-3º lugar se compare con el n-2º lugar, el segundo número más grande se reemplaza por el n-2º lugar, y así sucesivamente.

Característica: Al comparar los datos sin fijar en pares, fije el valor máximo de los datos sin fijar al final de los datos sin fijar y repita esta operación hasta que la longitud de los datos sin fijar sea 0.

Complejidad de tiempo: O (n²)

Código:

let length = 5;
let arr = new Array(length);
for(let i = 0;i<length;i++){
    
    
    arr[i] = length - i;
}
let num;
for(let i = 0;i<length-1;i++){
    
    
    for(let j = 0;j<length-i;j++){
    
    
        if(arr[j] > arr[j + 1]){
    
    
            num = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = num;
        }
    }
}

Optimiza el código:

let length = 5;
let arr = new Array(length);
for(let i = 0;i<length;i++){
    
    
    arr[i] = length - i;
}
let num,flag;
for(let i = 0;i<length-1;i++){
    
    
    flag = false;
    for(let j = 0;j<length-i;j++){
    
    
        if(arr[j] > arr[j + 1]){
    
    
            num = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = num;
            flag = true;
        }
    }
    if(!flag){
    
    
        break;
    }
}

Tipo de inserción

Operación: comenzando desde el primer dígito, compare el primer dígito con el dígito 0, y los valores se ordenan en orden ascendente; luego, comenzando desde el segundo dígito, compare el segundo dígito con el primer dígito y compare el primer dígito con el dígito 0, el valor numérico se organiza en orden ascendente; y así sucesivamente, comenzando desde la posición n, la posición n se compara con la posición n-1 ... hasta la primera y la posición 0, los valores numéricos están dispuestos en orden ascendente.

Características: Iniciar el recorrido desde la 1ª posición a la n-1ª posición, asegurándose de que después de cada recorrido, todos los datos desde la posición 0 hasta la posición actual del recorrido estén dispuestos en orden ascendente.

Complejidad de tiempo: O (n²)

Código:

let length = 5;
let arr = new Array(length);
for(let i = 0;i<length;i++){
    
    
    arr[i] = length - i;
}
let num;
for(let i = 0;i<length-1;i++){
    
    
    for(let j = i+1;j>0;j--){
    
    
        if(arr[j - 1] > arr[j]){
    
    
            num = arr[j];
            arr[j] = arr[j - 1];
            arr[j - 1] = num;
        }else{
    
    
            break;
        }
    }
}

Supongo que te gusta

Origin blog.csdn.net/qq_35508835/article/details/108696569
Recomendado
Clasificación