#include<stdio.h>
void insertSort(int arr[],int res_arr[],int len,int num);
int main()
{
int arr[]={1,6,9,19,21};
int len = sizeof(arr)/sizeof(arr[0]),num=99,i;
int res_len = len+1;
int res_arr[res_len];//创建一个比原始数组大1的新数组,以便插入、不溢出
insertSort(arr,res_arr,len,num);
for (i = 0; i < res_len; i++)
{
printf("%d\n",res_arr[i]);
}
}
void insertSort(int arr[],int res_arr[],int len,int num)
{
int i;
//把原始数组复制到新数组中
for ( i = 0; i < len; i++)
{
res_arr[i] = arr[i];
}
//找到要插入的位置
if (res_arr[len]<num && res_arr[len-1]<num)
{
res_arr[len] = num;
}else{
for ( i = len-1; i >= 0 && res_arr[i]>num; i--)
{
res_arr[i+1] = res_arr[i];
}
res_arr[i+1] = num;
}
}