Método de clasificación de burbujas : los registros con palabras clave más pequeñas son como burbujas que flotan una tras otra, y los registros con palabras clave más grandes son como hundir piedras, y una de las piedras más grandes se hunde en la parte inferior de cada viaje.
La esencia del algoritmo: (el valor máximo es el punto clave, debe ponerse al final, por lo que el bucle es así) Cada vez, la comparación se realiza desde la primera posición hasta el fondo, el valor mínimo aumenta una vez , y los últimos avances de bit (es decir, el último dígito acaba de determinarse por el valor máximo que ya no participa en la comparación, el número de comparaciones se reduce en 1)
Complejidad: complejidad del tiempo o (N2), complejidad del espacio o (1)
Código fuente de Java (se ejecuta correctamente, se requiere clase de fecha)
La copia del código es la siguiente:
public static void bubblesort (fecha [] días) {
int len = days.length;
Fecha temperatura;
para (int i = len-1; i> = 1; i--) {
para (int j = 0; j <i; j ++) {
if (días [j] .compare (días [j + 1])> 0) {
temp = días [j + 1];
días [j + 1] = días [j];
días [j] = temp;
}
}
}
}
Fecha de clase {
int año, mes, día;
Fecha (int y, int m, int d) {
año = y;
mes = m;
día = D;
}
public int Compare (fecha de fecha) {
Año de regreso> Fecha.
: mes> fecha. ¿Month?
: día> date.day?
}
public void print () {
System.out.println (año + "" + mes + "" + día);
}
}
La copia del código es la siguiente:
Paquete TestSortalgorithm;
Bubblesort de clase pública {
public static void main (string [] args) {
int Array [] = {5, 6, 8, 4, 2, 4, 9, 0};
Bubblesort (matriz);
para (int i = 0; i <array.length; i ++) {
System.out.println (Array [i]);
}
}
public static void bubblesort (int Array []) {
int temp;
para (int i = array.length-1; i> 0; i--) {
para (int j = 0; j <i; j ++) {
if (array [j]> array [j + 1]) {
temp = array [j];
matriz [j] = array [j + 1];
matriz [j + 1] = temp;
}
}
}
}
}