/ / clasificación de una lista sin función ordenada - python

ordenar una lista sin función ordenada - python

             a=[12,11,13,21,1,2,3,45,65]
i=0
j=1
k=0
newarr=[]
while(len(a)>=k):
if (a[i]>a[j]):
a[i],a[j]=a[j],a[i]
i=i+1
j=j+1

k=k+1

imprimir (a)

No estoy obteniendo la salida prevista. ¿Alguien puede identificarse?

Respuestas

0 para la respuesta № 1

Estás implementando el algoritmo de una manera incorrecta. Bueno, creo que deberías aprender diferentes algoritmos de clasificación para ordenar y listar en Python o array en otros idiomas.

Ej: Bubble Sort ... El más fácil de aprender.

listing=[12,34,5,33,89,3]
for i in range(0,len(listing)-1):
for j in range(0,len(listing)-i-1):
if listing[j]>listing[j+1]:
temp=listing[j]
listing[j]=listing[j+1]
listing[j+1]=temp
print(listing)

Y una cosa más para mencionar. Que la función list.sort () también usa un algoritmo estable para ordenar. Leer aquí ¿Qué algoritmo de clasificación utiliza la lista de STL :: sort ()?