每个后来的元素都插入到合适的位置
从第一个元素开始(已经被排好)
相对第一个元素插入下一个
以此类推。。。
通过移动腾出空间
void InsertionSort(Vector<int> &v)
{
for (int i = 1; i < v.size(); i++) {
int cur = v[i]; // slide cur down into position to left
for (int j=i-1; j >= 0 && v[j] > cur; j--)
v[j+1] = v[j];
v[j+1] = cur;
}
}