for (int i = 1; i < n; ++i) {//从1开始,因为第0个不用插 int value = arr[i];//要插的元素 int j = 0;//插入的位置 for (j = i-1; j >= 0; j--) {//从后往前找 if (arr[j] > value) {//升序 arr[j+1] = arr[j];//移动数据,保证要插的在大数之前 } else { break; } } arr[j+1] = value; //插入数据,此时终于找到比要插的小的元素了,就把他插在小的后面,即j的后面j+1 }
来源:CSDN
作者:希望能读博
链接:https://blog.csdn.net/qq_36299458/article/details/104591473