首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空函数bubble_sort不对数组排序

空函数bubble_sort不对数组排序
EN

Stack Overflow用户
提问于 2014-01-12 22:50:51
回答 1查看 90关注 0票数 1

A正在尝试一些排序算法的实现,我必须计算它们花费了多少时间。这是我写的函数:

代码语言:javascript
复制
void bubble_sort(int A[], int len) {
bool ord = false;
    for (int i=0; i<len-1 && ord==false; i++) {
        ord = true;
        for (int j=len-1; j>i; j--) {
            if (A[j]-1>A[j]) {
                ord = false;
                swap(A[j]-1, A[j]);
            }
        }
    }
}

当然,这里有一个典型的swap()函数:

代码语言:javascript
复制
void swap(int x, int y) {
    int d;
    d = x;
    x = y;
    y = d;
}

插入排序、选择排序和合并排序没有问题。顺便说一下,bubble_sort没有对我数组中的数字进行排序。

我找不到出什么问题了。你有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-12 22:53:37

您必须在数组-1中包括A。不是在[]之外。您的代码不只是切赫,如果A[j]减去1中的值大于A[j]中的值。这显然总是false

同样,在交换函数中,您不会传递数组A的沉思。实际上,swap()什么也不做。

试一试

代码语言:javascript
复制
if (A[j-1]>A[j]) {
                ord = false;
              int temp=A[j-1];
           A[j-1]=A[j];
           A[j]=temp;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21081326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档