c - c中的冒泡排序程序

标签 c bubble-sort

我用 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/

相关文章:

c++ - 内存对齐、结构和 malloc

java - 在冒泡排序中按升序或降序排序

C++ 气泡数组赋值 - 添加标记以显示变化

Javascript 从关联数组中查找最小数字(冒泡排序方法)

assembly - MASM x86 中的冒泡排序在几次迭代后未排序

c - 如何仅使用 linux 系统调用将两个文件合并为第三个文件?

将sqlite连接到C程序

c++ - 冒泡排序不传递数据或不起作用

c - uio.h 和 io.h 有什么区别?

C 程序 : Create Linked List Using argv, argc,段错误