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 № 1Stai 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 ()?