Python’s list method sort includes the keyword argument reverse, whose default value is False. The programmer can override this value to sort a list in descending order.
Modify the selectionSort function discussed in this chapter so that it allows the programmer to supply this additional argument (as the second parameter) to redirect the sort.
-----------------------------------------------------------------------------------
def selectionSort(lyst):
"""Sorts the items in lyst in ascending order."""
i = 0
while i <>
minIndex = i # for the smallest item
j = i + 1
while j <>
if lyst[j] <>
minIndex = j
j += 1
if minIndex != i: # Swap if necessary
swap(lyst, minIndex, i)
i += 1
def swap(lyst, x, y):
"""Exchanges the elements at positions x and y."""
lyst[x], lyst[y] = lyst[y], lyst[x]
def main():
"""Tests with four lists."""
lyst = [2, 4, 3, 0, 1, 5]
selectionSort(lyst)
print(lyst)
lyst = list(range(6))
selectionSort(lyst)
print(lyst)
lyst = [2, 4, 3, 0, 1, 5]
selectionSort(lyst, reverse = True)
print(lyst)
lyst = list(range(6))
selectionSort(lyst, reverse = True)
print(lyst)
if __name__ == "__main__":
main()