那谁的技术博客

感兴趣领域:高性能服务器编程,存储,算法,Linux内核
随笔 - 210, 文章 - 0, 评论 - 1183, 引用 - 0
数据加载中……

(算法导论习题解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));

    
return 0;
}


BTW:我发现我写递归算法的能力不是很强,总是把握不住重点,还得多锻炼才行.

posted on 2008-09-29 23:27 那谁 阅读(2638) 评论(0)  编辑 收藏 引用 所属分类: 算法与数据结构


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理