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

2015-12-13 13:06:30 +08:00
 lightryanking

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

1044 次点击
所在节点    C
2 条回复
firemiles
2015-12-13 13:46:28 +08:00
j=i;
do{
j--;
arr[j+1]=arr[j];
}while(arr[j]>temp&&j>=0);
arr[j+1]=temp;
}
lightryanking
2015-12-13 14:01:07 +08:00
@firemiles 谢谢您的解答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/243188

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX