#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");}