这段代码是冒泡排序的正确实现吗?

发布于 2024-10-31 16:21:34 字数 357 浏览 1 评论 0原文

我使用以下冒泡排序算法进行排序。 这个算法正确吗?

for (int a = itemWiseBidderList.size() - 1; a > 1; a--)
{
    for (int j = 0; j < a; j++)
    { 
        if ((itemWiseBidderList.get(j).getRankInInt()) > (itemWiseBidderList.get(j + 1).getRankInInt()))
        {
           Collections.swap(itemWiseBidderList, j, j + 1);
        }
    }
}

I am used following bubble sort algorithm for making sorting .
Is this algorithm correct?

for (int a = itemWiseBidderList.size() - 1; a > 1; a--)
{
    for (int j = 0; j < a; j++)
    { 
        if ((itemWiseBidderList.get(j).getRankInInt()) > (itemWiseBidderList.get(j + 1).getRankInInt()))
        {
           Collections.swap(itemWiseBidderList, j, j + 1);
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

橘虞初梦 2024-11-07 16:21:34

如果冒泡排序不是必需的(通过作业?),那么在 Java 中实现排序的正确方法是调用

Collections.sort(itemWiseBidderList);

If your list items Implement Comparable, or

Collections.sort(itemWiseBidderList, new Comparator() {
    public int compare(Object o1, Object o2) {
        // Compare o1, o2 .getRankInInt() here
    }
});

这会比冒泡排序快很多。

If bubble sorting is not a requirement (by homework?), then the correct way to implement sorting in Java is by calling

Collections.sort(itemWiseBidderList);

If your list items implement Comparable, or

Collections.sort(itemWiseBidderList, new Comparator() {
    public int compare(Object o1, Object o2) {
        // Compare o1, o2 .getRankInInt() here
    }
});

This will be a lot faster than bubble sorting.

稀香 2024-11-07 16:21:34

这是伪代码,您可以验证代码是否正确:

procedure bubbleSort( A : list of sortable items )
  n = length(A)
  for (i = 0; i < n; i++)
     /* back through the area bringing smallest remaining element to position i */
     for (j = n-1; j > i; j--)
        if A[j-1] > A[j] then
           swap(A[j-1], A[j])
        end if
     end for
  end for
end procedure

来源自 wikipedia

This is pseudo-code, you can verify if your code is correct:

procedure bubbleSort( A : list of sortable items )
  n = length(A)
  for (i = 0; i < n; i++)
     /* back through the area bringing smallest remaining element to position i */
     for (j = n-1; j > i; j--)
        if A[j-1] > A[j] then
           swap(A[j-1], A[j])
        end if
     end for
  end for
end procedure

source from wikipedia

靑春怀旧 2024-11-07 16:21:34

它似乎确实是正确的(尽管我没有测试它),但是 Collection 应该具有可比性,因此您可能应该只调用 itemWiseBidderList.sort()

itemWiseBidderList 是什么数据类型?

It does seem to be correct (though I did NOT test it), however Collection is supposed to be comparable so you should probably just call itemWiseBidderList.sort().

What datatype is itemWiseBidderList?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文