39 lines
1.0 KiB
Python
39 lines
1.0 KiB
Python
class Sorter:
|
|
def sort(self, list):
|
|
for i in range(len(list) - 1):
|
|
for j in range(i, len(list)):
|
|
if self.compareItems(list[i], list[j]):
|
|
list[i], list[j] = list[j], list[i]
|
|
|
|
def getName(self):
|
|
return "Trieur de liste"
|
|
|
|
def getDescription(self):
|
|
raise NotImplementedError
|
|
|
|
def compareItems(self, item1, item2):
|
|
raise NotImplementedError
|
|
|
|
class AscendantSorter(Sorter):
|
|
def compareItems(self, item1, item2):
|
|
return item1 >= item2
|
|
def getDescription(self):
|
|
return "Tri par ordre normal"
|
|
def getName(self):
|
|
return "Ascendant"
|
|
|
|
class DescendantSorter(Sorter):
|
|
def compareItems(self, item1, item2):
|
|
return item1 <= item2
|
|
def getDescription(self):
|
|
return "Tri par ordre inverse"
|
|
|
|
if __name__ == '__main__':
|
|
list = ['b', 'e', 'a', 'c', 'z']
|
|
s = AscendantSorter()
|
|
s.sort(list)
|
|
print list
|
|
s = DescendantSorter()
|
|
s.sort(list)
|
|
print list
|