Bravo , acabas de descubrir el ordenamiento por el método de burbuja el más ineficiente de todos...
...pero además has realizado una implementación muy, muy, muy deficiente.
Intenta generar y ordenar una lista con solo 1000 elementos (o añade algún cero más)... y comprobarás lo lento que es.
Tú tienes esto:
Debieras remplazarlo por esto:
Por favor, abstente de poner código mediocre... solo conseguirás llevar la ineficiencia a otras personas. Date el plazo de aprender bien... Ahora solo sabes andar, ya aprenderás a correr.
...pero además has realizado una implementación muy, muy, muy deficiente.
Intenta generar y ordenar una lista con solo 1000 elementos (o añade algún cero más)... y comprobarás lo lento que es.
Tú tienes esto:
Citar...que hace que ese 'j=i+1' lo haga excesivamente (10-100 veces más) lento, de lo que por sí ya es el algoritmo de burbuja.
Si (lista(i) > lista(J))
var = lista(i)
lista(i) = lista(j)
lista(j) = var
j = (i + 1)
Sino
j = (j + 1)
Fin si
Debieras remplazarlo por esto:
CitarEs poca la diferencia en el código, pero mucho la diferencia de eficiencia. Con 10 o 20 elementos no lo notas, cuando son 1000, se volverá intolerable, porque la ineficiencia es exponencial.
Si (lista(i) > lista(J))
var = lista(i)
lista(i) = lista(j)
lista(j) = var
//j = (i + 1)
Fin si
j = (j + 1)
Por favor, abstente de poner código mediocre... solo conseguirás llevar la ineficiencia a otras personas. Date el plazo de aprender bien... Ahora solo sabes andar, ya aprenderás a correr.