首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言编纂的插入排序

2012-11-11 
C语言编写的插入排序#includestdio.h#includeconio.hmain(){int Nint a[]{0}int v,i,jprintf(ple

C语言编写的插入排序
#include<stdio.h>
#include<conio.h>
main()
{
  int N;
  int a[]={0};
  int v,i,j;
  printf("please input the number:");
  scanf("%d",&N);
  printf("please input ");printf("%d",N);printf(" numbers:");
  for(i=0;i<N;i++)
  scanf("%d ",&a[i]);
  for(i = 1;i<N;i++)
  {
  v = a[i];
  j=i-1;
  while(j>=0&&a[j]>v)
  {
  a[j+1]=a[j];
  j--;
  }
  a[j+1]=v;
  }
  for(i = 0;i<N;i++)
  printf("%d ",a[i]);
  getch();
}

运行后输入数字却得不到正确结果,请大家帮忙看看!

[解决办法]
目测一下a[]={0} 那么就是a[1]={0}
[解决办法]
while(j>=0&&a[j]>v)
{
a[j+1]=a[j];
j--;
}
a[j+1]=v;
} j--后j=-1 跳出while循环
直接插入算法错误
[解决办法]
楼主不说话?

热点排行