# Selection sort in Python
def selectionSort(array, size):
for step in range(size):
min_idx = step
for i in range(step + 1, size):
# to sort in descending order, change > to < in this line
# select the minimum element in each loop
if array[i] < array[min_idx]:
min_idx = i
# put min at the correct position
(array[step], array[min_idx]) = (array[min_idx], array[step])
data = [-2, 45, 0, 11, -9]
size = len(data)
selectionSort(data, size)
print('Sorted Array in Ascending Order:')
print(data)
IyBTZWxlY3Rpb24gc29ydCBpbiBQeXRob24KCgpkZWYgc2VsZWN0aW9uU29ydChhcnJheSwgc2l6ZSk6CiAgIAogICAgZm9yIHN0ZXAgaW4gcmFuZ2Uoc2l6ZSk6CiAgICAgICAgbWluX2lkeCA9IHN0ZXAKCiAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc3RlcCArIDEsIHNpemUpOgogICAgICAgICAKICAgICAgICAgICAgIyB0byBzb3J0IGluIGRlc2NlbmRpbmcgb3JkZXIsIGNoYW5nZSA+IHRvIDwgaW4gdGhpcyBsaW5lCiAgICAgICAgICAgICMgc2VsZWN0IHRoZSBtaW5pbXVtIGVsZW1lbnQgaW4gZWFjaCBsb29wCiAgICAgICAgICAgIGlmIGFycmF5W2ldIDwgYXJyYXlbbWluX2lkeF06CiAgICAgICAgICAgICAgICBtaW5faWR4ID0gaQogICAgICAgICAKICAgICAgICAjIHB1dCBtaW4gYXQgdGhlIGNvcnJlY3QgcG9zaXRpb24KICAgICAgICAoYXJyYXlbc3RlcF0sIGFycmF5W21pbl9pZHhdKSA9IChhcnJheVttaW5faWR4XSwgYXJyYXlbc3RlcF0pCgoKZGF0YSA9IFstMiwgNDUsIDAsIDExLCAtOV0Kc2l6ZSA9IGxlbihkYXRhKQpzZWxlY3Rpb25Tb3J0KGRhdGEsIHNpemUpCnByaW50KCdTb3J0ZWQgQXJyYXkgaW4gQXNjZW5kaW5nIE9yZGVyOicpCnByaW50KGRhdGEp