#include<iostream>using namespace std;void insertsort(int arr[],int length) {int a = sizeof(arr)/ sizeof(arr[0]);for (int i = 1; i < length; i++) {if (arr[i] < arr[i - 1]) {//注意[0,i-1]都是有序的。如果待插入元素比arr[i-1]还大则无需再与[i-1]前面的元素进行比较了,反之则进入if语句int temp = arr[i]; //把第i位取出int j; //0for (j = i - 1; j >= 0 && arr[j] > temp; j--) {arr[j + 1] = arr[j];//把前有序部份比temp大或相等的元素全部往后移动一个位置 }arr[j + 1] = temp;//把待排序的元素temp插入腾出位置的(j+1)}}} void main() {int array[] = { 10,5,8,7,6,5,4,3,1,2};cout << ("排序之前:") << endl;for (int element : array) {cout << element;}cout <<endl;insertsort(array, sizeof(array) / sizeof(array[0]));cout << ("/n排序之后:")<<endl;for (int element : array) {cout<<element;}cout << endl;system("pause");}