gpt4 book ai didi

java - Java冒泡排序遇到问题

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:35 26 4
gpt4 key购买 nike

我尝试实现冒泡排序,但它不起作用!帮我找出问题所在。

代码:

public class Main {   

public static int e=0;
public static int arraylength;
public static int[] array = new int[10];

public static void main(String[] args) {
Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" "+array[i]);
}
arraylength=array.length;
for (int i =0;i<arraylength;i++) {
arraylength--;
for (int j = 0; j < arraylength - 1; j++) {
if (array[j] > array[j + 1]) {
e = array[j + 1];
array[j + 1] = array[j];
array[j] = e;
}
}
}
}
}

控制台:

输入数组:5 1 5 4 7 8 7 7 2 8

输出:1 4 5 2 5 7 7 7 8 8

public class Main {

public static int e=0;
public static int arraylength;
public static int[] array = new int[10];

public static void main(String[] args) {
Random random = new Random();
for(int i=0;i<array.length;++i){
array[i]=random.nextInt(10);
System.out.print(" "+array[i]);
}

System.out.println();
arraylength=array.length;
for (int i =0;i<arraylength;i++) {
arraylength--;
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j + 1]) {
e = array[j + 1];
array[j + 1] = array[j];
array[j] = e;
}
}
}
for(int i=0;i<array.length;++i){
System.out.print(" "+array[i]);
}
}
}

输入数组:7 7 4 1 2 9 6 4 9 6

输出:1 2 4 4 6 6 7 7 9 9

它有效,但有时:

输入数组:5 2 2 3 9 6 7 7 0 6

输出:2 2 3 0 5 6 6 7 7 9

最佳答案

改变

for (int i =0; i<arraylength; i++) {

for (int i =0; i<array.length; i++) {

外部循环需要为数组中的每个元素运行一次,并且您不能使用 arraylength 变量来执行此操作,因为您正在减小其值,即在第一次迭代之后,arraylength 不再等于 array.length

关于java - Java冒泡排序遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46512882/

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