首页 / 软件开发 / 数据结构与算法 / (算法导论习题解exercise2.3-4)递归版插入排序
(算法导论习题解exercise2.3-4)递归版插入排序2010-06-09 C++博客 那谁没什么可以多说的,直接看代码吧:#include <stdio.h>
void display(int array[], int size)
{
int i;
for (i = 0; i < size; ++i)
{
printf("%d ", array[i]);
}
printf("
");
}
void insert_sort(int array[], int size)
{
if (size > 1)
{
insert_sort(array, size - 1);
int temp = array[size - 1];
int i;
for (i = size - 2; i >= 0; --i)
{
if (temp < array[i])
{
array[i + 1] = array[i];
}
else
{
break;
}
}
array[i + 1] = temp;
}
}
int main()
{
int array[] = {4,1,5,2,8};
insert_sort(array, sizeof(array) / sizeof(int));
display(array, sizeof(array) / sizeof(int));
return 0;
}
BTW:我发现我写递归算法的能力不是很强,总是把握不住重点,还得多锻炼才行.