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

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

  •  1
     
  •   lightryanking · 2015 年 12 月 13 日 · 1521 次点击
    这是一个创建于 3694 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 日   ❤️ 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 日
    @firemiles 谢谢您的解答
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   4995 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:17 · PVG 17:17 · LAX 01:17 · JFK 04:17
    ♥ Do have faith in what you're doing.