没什么可以多说的,直接看代码吧:

#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 那谁 阅读(1481) 评论(0)  编辑 收藏 引用 所属分类: 算法与数据结构

标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航: