Να γράψετε συνάρτηση η οποία δέχεται ως παραμέτρους μια αριθμητική λίστα και έναν ακέραιο αριθμό. Η συνάρτηση να ταξινομεί τη λίστα ανάλογα με την τιμή του ακεραίου αριθμού που δέχεται, αν ο αριθμός είναι 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)