Selection Sort Without Any Loop | Python

 

def
find_min_index(array, i, n):
if i == n:
return i
a = find_min_index(array, i+1, n)
return(i if array[i] < array[a] else a)

def selection_recursion(array, size, index):
if index == size:
return -1
a = find_min_index(array, index, size -1)
if a != index: #when index and min_index are not same.
array[a], array[index] = array[index], array[a]
selection_recursion(array, size, index+1)

if __name__ == "__main__":
array = [5,4,3,2,1]
selection_recursion(array,len(array),0)
for i in array:
print(i, end=' ')
print("\n")

Comments