惟美食与爱不可辜负_ 2021-12-02 17:50 采纳率: 66.7%
浏览 16
已结题

c语言插入法排序无法进行,跟没排序一样

#include<stdio.h>
void insertion_sort(int arr[]);
int main()
{
int a[8]={7,6,9,3,1,5,2,4};
int i;
void insertion_sort(a);
for(i=0;i<=7;i++)
{
printf("%d ",a[i]);
}
return 0;
}
void insertion_sort(int arr[])
{ int i,j,key;
for (i=1;i<8;i++)
{
key = arr[i];
j=i-1;
while((j>=0) && (arr[j]>key))
{
arr[j+1] = arr[j];
j--;
}
arr[j+1] = key;
}
}

  • 写回答

1条回答 默认 最新

  • 索利亚噶通 2021-12-02 19:22
    关注

    原因是你根本没有调用你写的插入排序函数, void insertion_sort(a); 这个叫声明不叫调用, 调用不能有前面的返回值void, 把这个去掉, 如果你下面的代码没错就可以正常排序了
    (有用请采纳)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月2日