3 minutos para aprender ordenamiento de burbuja

ideas:

  1. Dos elementos relativamente grande lugar a la derecha
  2. Desde el principio con el fin de comparar dos elementos adyacentes, el objetivo es encontrar el elemento más grande en el extremo, este elemento ya no participa Comparar
  3. El segundo sigue a partir de cero, el segundo elemento más grande en la posición correcta
  4. Comparación de un total de len -1 veces, ya que se ha determinado la posición len -1 elementos, entonces el n-ésimo es sin duda el más pequeño que
  5. Comparación del número de veces que i es len - i -1, y el siguiente, porque cada vez que un elemento de comparación
  6. Cuando los dos elementos no se conmutan, el algoritmo de clasificación es estable
  7. Optimización: Cuando un viaje sin ningún tipo de cambio, explicó que se había ordenado la

 

Una especie de 2,5,1,6,9,3

algoritmo:

/**
 * 冒泡排序
 */
public class Solution {
    public static void bubbleSort(int[] array) {
        boolean swap;    // 优化
        for (int i = 0; i < array.length; i++) {
            swap = false;
            // i 从第 0 次开始,没一趟都会少比较一个元素
            // -1 表示比较次数少于元素个数
            for (int j = 0; j < array.length - i - 1; j++) {
                if (array[j] > array[j + 1]) {
                    int temp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = temp;
                    swap = true;
                }
            }
            if (swap = false) {
                break;
            }
        }
    }

    public static void main(String[] args) {
        int[] array = new int[]{2, 5, 1, 6, 9, 3};
        bubbleSort(array);
        for (int i : array) {
            System.out.print(i + " "); // 1 2 3 5 6 9 
        }
    }
}

 

 

 

Publicados 242 artículos originales · elogios ganado 16 · Vistas a 50000 +

Supongo que te gusta

Origin blog.csdn.net/qq_29150765/article/details/105184752
Recomendado
Clasificación