天之道

享受编程的乐趣。
posts - 118, comments - 7, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

直接插入排序

Posted on 2012-03-04 15:19 hoshelly 阅读(120) 评论(0)  编辑 收藏 引用 所属分类: DS && Algorithm
#include<stdio.h>
int insertsort(int a[],int n)//直接排序法
{
    
int i,j;
    
for(i=2;i<=n;i++)
    {
        a[
0]=a[i]; //a[0]作为临时变量存储a[i]
        j=i-1;
        
while(j>0 && a[0]>a[j])//从大到小排列
            a[j+1]=a[j--];
        a[j
+1]=a[0]; //将元素a[0]插入指定位置
    }
    
return 0;
}

int main()
{
    
int i,a[11]={-111,2,5,6,3,7,8,0,9,12,1};//a[0]没有使用
    printf("The orginal data array is\n");
    
for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);
    insertsort(a,
10);
    printf(
"\nThe result of insertion sorting for the array is\n");
    
for(i=1;i<=10;i++)
        printf(
"%d ",a[i]);
    printf(
"\n");
    
return 0;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理