Επειδή είναι καλοκαίρι και η cocktail-shaker sort αποτελέι μια "δροσερή" παραλαγή της κλασσικής ταξινόμησης φυσσαλίδας θα ήθελα να την παραθέσω. (ποτέ δεν ξέρεις, ίσως να ήταν ένα καλό θέμα για συμπλήρωση κενού)
Η ταξινόμηση χωρίζεται σε 2 φάσεις. Στην πρώτη γίνονται αντιμεταθέσεις από τα αριστερά προς τα δεξιά ώστε το μεγαλύτερο στοιχείο του πίνακα να μεταφερθεί στην τελευταία θέση του πίνακα. Στη δεύτερη φάση γίνονται αντιμεταθέσεις απο τα δεξια προς τα αριστερά ώστε το πιο μικρό στοιχείο του πίνακα να μεταφερθεί στην πρώτη θέση του πίνακα. κοκ...
def cocktail_sort(A):
for k in range(len(A)-1, 0, -1):
swapped = False
for i in range(k, 0, -1):
if A[i]<A[i-1]:
A[i], A[i-1] = A[i-1], A[i]
swapped = True
for i in range(k):
if A[i] > A[i+1]:
A[i], A[i+1] = A[i+1], A[i]
swapped = True
if not swapped:
return A
Πράγματι θα αποτελούσε ένα καλό θέμα μέχρι που το πόσταρες εδώ οπότε κάηκε για φέτος :'(
Παράθεση από: panawths στις 09 Ιουν 2017, 11:09:11 ΜΜ
Επειδή είναι καλοκαίρι και η cocktail-shaker sort αποτελέι μια "δροσερή" παραλαγή της κλασσικής ταξινόμησης φυσσαλίδας θα ήθελα να την παραθέσω. (ποτέ δεν ξέρεις, ίσως να ήταν ένα καλό θέμα για συμπλήρωση κενού)