我用 c 语言为冒泡排序程序编写了以下代码: http://pastebin.com/Jtcpn59U
但是,冒泡排序功能似乎不起作用。一旦我按照 getArray() 函数的提示输入数组值,程序就会进入空闲状态。有谁知道出了什么问题吗?
最佳答案
注意这部分程序:
for(i=0;i<n;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
当你写 if(a[i]>a[i+1])
时, a[i+1] 寻找不存在的位置!
只需将您的 for 循环限制为小于 n-1 即可:
for(i=0;i<n-1;i++)
而不是 for(i=0;i<n;i++)
希望,这会奏效! :)
关于c - c中的冒泡排序程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755229/