1. 程式人生 > >(演算法導論習題解exercise2.3-4)遞迴版插入排序

(演算法導論習題解exercise2.3-4)遞迴版插入排序

#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;
}