Εκφώνηση
Να γράψετε συνάρτηση η οποία δέχεται ως παραμέτρους μια αριθμητική λίστα και έναν ακέραιο αριθμό. Η συνάρτηση να ταξινομεί τη λίστα ανάλογα με την τιμή του ακεραίου αριθμού που δέχεται, αν ο αριθμός είναι 1 πραγματοποιείται αύξουσα ταξινόμηση ενώ αν είναι 2 πραγματοποιείται φθίνουσα ταξινόμηση. Μετά την ταξινόμηση εμφανίζει την ταξινομημένη λίστα. Για την ταξινόμηση να χρησιμοποιηθεί ο αλγόριθμος ευθείας ανταλλαγής.
Λύση
#Ταξινόμηση ευθείας ανταλλαγής με συνάρτηση
def sort2(L,x):
N=len(L)
if x==1:
print 'Αύξουσα ταξινόμηση..'
for i in range(N-1):
for j in range(N-1, i, -1):
if L[j-1]> L[j]:
L[j-1],L[j]=L[j],L[j-1]
print L
else:
print 'Φθίνουσα ταξινόμηση..'
for i in range(N-1):
for j in range(N-1, i, -1):
if L[j-1]< L[j]:
L[j-1],L[j]=L[j],L[j-1]
print L
Αρχείο python 2.7.9: Άσκηση 6 – Συναρτήσεις – Ταξινόμηση (αρχείο py)