gpt4 book ai didi

java - BubbleSort 算法返回不需要的结果

转载 作者:行者123 更新时间:2023-11-30 06:50:20 25 4
gpt4 key购买 nike

这是我对冒泡排序算法的实现。

 import java.util.Arrays;

public class BubbleSort {
public static void main(String[] args) {
int[] unsorted = {1,3,5,6,2};
System.out.println(Arrays.toString(unsorted));
bubbleSort(unsorted);
System.out.println(Arrays.toString(unsorted));
}

public static void bubbleSort(int[] unsorted){
int i;
int j;
int temp;
for (i = 0; i < unsorted.length; i++) {
for (j = 1; j < unsorted.length-1; j++) {
if (unsorted[i] > unsorted[j]) {
temp = unsorted[i];
unsorted[i] = unsorted[j];
unsorted[j] = temp;
}
}
}
}
}

这是输出:

[1, 3, 5, 6, 2]
[1, 6, 5, 3, 2]

这显然是错误的,但我的逻辑似乎没问题。

最佳答案

你的两个问题都与这一行有关:

for (j = 1; j < unsorted.length-1; j++) {

你不想从第一个元素开始循环,你想从 i 之后的第一个元素开始循环:

for (j = i+1; j < unsorted.length-1; j++) {

你还需要一路走到尽头:

for (j = i+1; j < unsorted.length; j++) {

关于java - BubbleSort 算法返回不需要的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41511636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com