插入排序的思想类似于打扑克(这个我比较喜欢)
抓到的第一张牌是有序的
接下来抓到大的放右边,抓到小的放左面
从而实现整个数组的排序
插入排序适用于每个元素离它最终位置都不远的情况
void InsertSort(int* arr,int size)
{
if(arr == NULL || size <= 0) return ;
int i; //无序的第一个元素
int j; //有序的最后一个元素
int temp;
for(i=1;i<size;i++)
{
temp = arr[i];
j = i-1;
while(temp < arr[j] && j >= 0)
{
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
}