V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lightryanking
V2EX  ›  C

这个 C 语言插入算法里面哪里出错了?

  •  1
     
  •   lightryanking · 2015-12-13 13:06:30 +08:00 · 1042 次点击
    这是一个创建于 3259 天前的主题,其中的信息可能已经有所发展或是发生改变。

    include <stdio.h>

    include <string.h>

    void main()
    {
    void insert_sort(int arr[],int n);
    int a[10]={1,4,2,5,6,4,3,2,9,7},i;
    printf("before:\n");
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
    insert_sort(a,10);
    printf("\n");
    printf("after:\n");
    for(i=0;i<10;i++)
    printf("%d ",a[i]);
    printf("\n");
    }
    void insert_sort(int arr[],int n)
    {
    int i,j,temp;
    for(i=1;i<n;i++)
    { temp=arr[i];j=i-1;
    do{
    arr[j+1]=arr[j];
    j--;
    }while(arr[j]>temp&&j>=0);
    arr[j+1]=temp;
    }
    }
    https://pic2.zhimg.com/0fa3b22573925c1eb4af0e895c53ec49_r.png

    firemiles
        1
    firemiles  
       2015-12-13 13:46:28 +08:00   ❤️ 1
    j=i;
    do{
    j--;
    arr[j+1]=arr[j];
    }while(arr[j]>temp&&j>=0);
    arr[j+1]=temp;
    }
    lightryanking
        2
    lightryanking  
    OP
       2015-12-13 14:01:07 +08:00
    @firemiles 谢谢您的解答
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3461 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:41 · PVG 12:41 · LAX 20:41 · JFK 23:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.