java - 冒泡排序法+里面的排列法

标签 java methods bubble-sort

我需要一些帮助来完成这个练习。 我必须创建一个包含冒泡排序的方法,并在该方法内创建另一个交换值的方法。 我试过这个:

public static void main(String[] args) {

        int i, taille = 5;
        int[] tableau = new int [taille];

        Scanner readKeyboard = new Scanner(System.in);

        System.out.println("Introduisez des valeurs positives ou négatives");

        for (i=0; i < taille; i++)
        {
            tableau[i] = readKeyboard.nextInt();
        }

        bubblesort(tableau);

        System.out.println("Tableau trié");

        for (i=0; i < taille; i++)
        {
            System.out.println(tableau[i]);
        }

    }

    public static void swapping(int a, int b)
    {
        int tmp;

        tmp     =   a;
        a       =   b;
        b       =   tmp;

    }

    public static void bubblesort(int[] tab)   
    {  
        int i, j;
        for(i=0; i < tab.length; i++) 
        {
                for(j=1; j < (tab.length-i); j++)
                {  
                        if(tab[j-1] > tab[j])
                        {
                            swapping(tab[j-1], tab[j]);
                        }
                }
        }
    }

我的问题是我的值没有在冒泡排序方法中交换。 我应该使用除 void 之外的其他类型的方法还是仅用于交换?

最佳答案

您需要使用以下方法更新您的“交换”方法。

 private static void swapping(int[] array,int i,int j) {
    int temp = array[i];
    array[i] = array[j];
    array[j] = temp;
}

关于java - 冒泡排序法+里面的排列法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59656531/

相关文章:

java - PriorityQueue poll() 抛出 NullPointerException

java - 我如何在 RecyclerView.Adapter 类中创建警报对话框生成器

java - 我不断从方法中得到零

java - 通用 getter 方法

c# - Bubblesort int 只返回 0

c++ - 模式功能: How does it work?

java - 在 Rethink db 中,我如何在以下场景中检索键值对?

java - 当我尝试解析实际日期时得到错误的日期

c++ - 冒泡排序 vector

c++ - 在声明后使用方法扩展类功能