前言
直接插入排序可以看做是希尔排序的简化版。
一、整体思路
直接插入排序的思想和生活中玩扑克牌类似,将待排数据逐个往有序序列里插入。
二、代码示例
void InsertSort(int* arr, int n)
{
if (arr == NULL || n <= 1)
return;
int i;
for (i = 0; i < n - 1; i++)
{
int end = i;
int tmp = arr[end + 1];
while (end >= 0)
{
if (arr[end] > tmp)
{
arr[end + 1] = arr[end];
end--;
}
else
{
break;
}
}//end of while
arr[end + 1] = tmp;
}//end of for
}