大神帮我看下这个插入排序的程序,,,,,

sdkwjc 2013-04-18 07:42:13
void InsertionSort(int data[],int num)
{
for(int i=1;i<num;i++)
{
int temp=data[i];
for(int j=0;j<i;j++)
{
if(data[j]>temp)
{
for(int k=i;k>j;k--)
{
data[k]=data[k-1];
}
data[j]=temp;

}
break;
}
}
}
void main()
{
int a[10]={1,3,5,7,9,2,4,6,8,0};
InsertionSort(a,10);
for(int i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
}

输出是不对的,,请问什么地方错了啊?
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nirvana_newbie 2013-04-18
  • 打赏
  • 举报
回复
引用 6 楼 sdkwjc 的回复:
引用 2 楼 nirvana_newbie 的回复:break用的不对。 C/C++ code?123456789101112131415161718192021222324void InsertionSort(int data[],int num){ for (int i = 1; i < num; i++) { int t……
我的回答有用,那请楼主结贴给分呗
sdkwjc 2013-04-18
  • 打赏
  • 举报
回复
引用 2 楼 nirvana_newbie 的回复:
break用的不对。 C/C++ code?123456789101112131415161718192021222324void InsertionSort(int data[],int num){ for (int i = 1; i < num; i++) { int temp = data[i]; ……
对 就是break的问题
sdkwjc 2013-04-18
  • 打赏
  • 举报
回复
引用 1 楼 nfx1989 的回复:
void InsertionSort(int data[],int num) { for(int i=1;i<num;i++) { int temp=data[i]; for(int j=i-1; j>=0 && data[j]>temp; j--) { data[j+1] = data[j]; } ……
是的 break出了问题
nfx1989 2013-04-18
  • 打赏
  • 举报
回复
提交了之后,格式咋那么挫。。。 上面两个其实是一样的。
nfx1989 2013-04-18
  • 打赏
  • 举报
回复
void InsertionSort(int data[],int num) { for(int i=1;i<num;i++) { int temp=data[i]; for(int j=i-1; j>=0 && data[j]>temp; j--) { data[j+1] = data[j]; } data[j+1] = temp; } }
nirvana_newbie 2013-04-18
  • 打赏
  • 举报
回复
break用的不对。
void InsertionSort(int data[],int num)
{

	for (int i = 1; i < num; i++)    
	{    
		int temp = data[i];    
		int j = i;    
		while ((j > 0) && (data[j - 1] > temp))    
		{    
			data[j] = data[j - 1];//交换顺序    
			--j;    
		}    
		data[j] = temp;    
    }    
}
void main()
{
	int a[10]={1,3,5,7,9,2,4,6,8,0};
	InsertionSort(a,10);
	for(int i=0;i<10;i++)
	{
		printf("%d\n",a[i]);
	}
}
nfx1989 2013-04-18
  • 打赏
  • 举报
回复
void InsertionSort(int data[],int num) { for(int i=1;i<num;i++) { int temp=data[i]; for(int j=i-1; j>=0 && data[j]>temp; j--) { data[j+1] = data[j]; } data[j+1] = temp; } }

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧