算法
1.将元素分为有序和无序两部分
2.将无序的元素插入到有序元素的合适位置上
代码
void InsertionSort(int* arr,int len)
{
int t;
//将数组分为两部分:1.有序的,2.无序的,我们要做的操作时将无序的元素插入到有序的元素中
for(int i=0;i<len-1;i++){
//将待插入数a[i+1]插入到前面的有序数组中
for(int j=i+1;j>0;j--){
//找到不大于待插入元素的数将待插入元素插到它的后面
if(arr[j]<arr[j-1]){
t=arr[j];
arr[j]=arr[j-1];
arr[j-1]=t;
}
}
}
}
时间复杂度
O(n^2)