Selection sort runining time is very high as \(O(N^2)\).

Selection Sort

Example code:

def findSmallest(a):
    smallest=a[0]
    index = 0
    for i in range(1, len(a)):
        if smallest > a[i]:
            smallest = a[i]
            index = i

    return index

def selection_sort(a):
    sorted_array = []
    for i in range(len(a)):
        smallest_position = findSmallest(a) # O(nxn)
        sorted_array.append(a.pop(smallest_position))
    return sorted_array

# Test
print(selection_sort([5,3,9,4,1,6,20]))