java 。帮助找出为什么我的代码不起作用

标签 java arrays sorting

这是我的代码,我不明白为什么它不起作用。该算法必须对数组进行排序,但是当我运行它时,它会检索相同的数组。

import java.util.Arrays;

public class BubbleSorted1 {

    public static void main(String[] args) {
        int[] data = {40,20,50,30,10};
        sort(data);
        System.out.println(Arrays.toString(data));

    }

    public static void sort(int[] array){
        for(int barrier = array.length-1; barrier >= 0; barrier--){
            for(int index = 0; index < barrier; index++){
                if(array[index] > array[index] + 1){
                    int tmp = array[index];
                    array[index] = array[index + 1];
                    array[index + 1] = tmp;
                }
            }
        }

    }

}

最佳答案

您编写array[index] > array[index] + 1。这可能应该是 array[index] > array[index + 1] ,因为您所做的检查始终为 false。

关于 java 。帮助找出为什么我的代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842259/

相关文章:

c++ - srand(time(0)) 和 rand() 导致堆栈溢出错误

java - 如何根据一个属性对对象数组列表进行排序?

Java Else if 老虎机不检查所有数字是否相同

C: 将 int[ ] 转换为字符串

javascript - 正在做破坏吗?

php - 在查询结果中将不同的数组合并为一个数组

Java-如何在不扩展比较器的情况下对包含句点/点的字符串数组进行排序?

java:加快读取外文字符

java - 哪个类应该负责 JPA 中事务的开始/结束?

java - 从多个输入字符串生成确定性唯一固定长度文件名字符串