/ / ordinando una lista senza funzione ordinata - python

ordinamento di una lista senza funzione ordinata - 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

stampa (a)

Non sto ottenendo l'output previsto. Qualcuno può identificare?

risposte:

0 per risposta № 1

Stai implementando l'algoritmo in modo sbagliato. Beh, penso che dovresti imparare diversi algoritmi di ordinamento per ordinare ed elencare in python o array in altre lingue.

Es: Bubble Sort ... Il più facile da imparare.

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)

E ancora una cosa da menzionare. Che la funzione list.sort () usi anche algoritmo stabile per ordinare. Leggi qui Quale algoritmo di ordinamento è usato dalla lista di STL :: sort ()?