for (int i = 1; i < array.Length; i++)
{
int curvalue = array[i];
int temp = i;
while (temp > 0 && array[temp - 1] > curvalue)
{
array[temp] = array[temp - 1];
temp--;
}
array[temp] = curvalue;
}
实现原理:
1.从下标为1的开始。取出下标为1的值。
2.取出前面一个值和当前的值判断,如果前面一个大于现在的值,那就把当前的值设置为前面的值。再把下标减去1.再和前面的判断。如果小于,那当前下标的值就等于刚刚取出来的那个。。