insertion sort -- Idea: start with a list of length one. Given an ordered list, add each element, one at a time, preserving order
for i=1..n-1 {
goesHereIndex = find the index where list[i] belongs*
move the elements from goesHereIndex..i-1 down one (to make space for list[i]) (put list[i] in your pocket first!)
list[goesHereIndex] = pocket
}
*finding the location is a sorted list where a particular new value, v, goes (assuming biggest value at the top)
for (i=0..end of list)
if (v > list[i])
return i;
return end of list