(演算法導論習題解exercise2.3-4)遞迴版插入排序
阿新 • • 發佈:2018-12-27
#include <stdio.h>void display(int array[], int size)
{
int i;
for (i =0; i < size; ++i)
{
printf("%d ", array[i]);
}
printf("\n");
}
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));
return0;
}
{
int i;
for (i =0; i < size; ++i)
{
printf("%d ", array[i]);
}
printf("\n");
}
void insert_sort(int array[], int size)
{
if (size >1)
{
insert_sort(array, size -1);
int temp = array[size -1];
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,
display(array, sizeof(array) /sizeof(int));
return0;
}