Ο Αλγόριθμος παρακάτω αποτελεί μια βελτιωμένη εκδοχή του Αλγόριθμου Ταξινόμησης ευθείας ανταλλαγή (BubbleSort).
Μια λογική μεταβλητή (setnotdone), αλλάζει την τιμή της ανάλογα με το αν έχει προηγηθεί ανταλλαγή ανάμεσα σε στοιχεία της ταξινομούμενης λίστας, και ελέγχεται πριν το επόμενο "σάρωμα" της λίστας, ώστε να αποφεύγονται οι περιττές επαναλήψεις σε ήδη ταξινομημένη λίστα.
--------------------------------------------------------------------------------------------------------
def bubblesort(mylist)
N=len(mylist)
setnotdone=True
i=1
while i<N and setnotdone==True:
setnotdone=False
for j in range (N-1,i-1,-1):
if mylist[j]<mylist[j-1]:
mylist[j-1],mylist[j]=mylist[j],mylist[j-1]
setnotdone = True
i = i+1
Μια λογική μεταβλητή (setnotdone), αλλάζει την τιμή της ανάλογα με το αν έχει προηγηθεί ανταλλαγή ανάμεσα σε στοιχεία της ταξινομούμενης λίστας, και ελέγχεται πριν το επόμενο "σάρωμα" της λίστας, ώστε να αποφεύγονται οι περιττές επαναλήψεις σε ήδη ταξινομημένη λίστα.
--------------------------------------------------------------------------------------------------------
def bubblesort(mylist)
N=len(mylist)
setnotdone=True
i=1
while i<N and setnotdone==True:
setnotdone=False
for j in range (N-1,i-1,-1):
if mylist[j]<mylist[j-1]:
mylist[j-1],mylist[j]=mylist[j],mylist[j-1]
setnotdone = True
i = i+1
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου