这个是插入排序,可以认为先从最左面的元素开始,形成一个有序的序列,例如a[0]是有序的,而后第一次循环就j = i此时,i = 1, j 也等于1,所以第一次循环之后形成一个arr[0],arr[1]是有序的,而后 i = 2, j等于2,这里等于把arr[2]当作一个元素插入
前面有序的序列arr[0], arr[1],此时这个序列所有比arr[2]大的元素都要向后移动一次,如果前面的比arr[2]小,则终止内圈循环
冒泡实在没啥可说的,就是把最小的值移动到数组最最左边,然后把left加一当作一个新数组来对待(也是移动到最左边)
这玩意存在的唯一意义可能就是便于实现而已,复杂度O(n^2),是稳定排序 这是insertion的一个优化版本