for length = 0
selection_sort
next = 0 a.size() = 0
next is not less than -1, so loop is not entered and function
selection_sort is exited
for length = 1
selection_sort
next = 0 a.size() = 1
next is not less than 0, so loop is not entered and function
selection_sort is exited
for length = 2
selection_sort
next = 0 a.size() = 2 - loop statements are done exactly once
min_pos = min_position(a, 0, 1)
min_pos = 0
i = 1 to 1, check if a[i] < a[min_pos] - this checks if element 1
is less than element 0
for length = 3
selection_sort
next = 0 a.size() = 3 - loop statements are done twice
min_pos = min_position(a, 0, 2)
min_pos = 0
i = 1 to 2, check if a[i] < a[min_pos] - this checks if element 1
is less than element 0 and if element 2 is less than element 1
min_pos = min_position(a, 1, 2)
min_pos = 1
i = 2 to 2, check if a[i] < a[min_pos] - this checks if element 2
is less than element 1