1

配列を使ったバブルソートについて質問です。コード例を次に示します。

public class SortArray 
{
    public static void main(String[] args)
    {
        int[] arr = {4,6,4,2,764,23,23};
        sort(arr);
    }
    static void sort(int[] arr)
    {
        int k;
        for(int i = 0; i < arr.length; i++)
        {
            for(int j = i; j < arr.length-1; j++)
            {
                if(arr[i] < arr[j+1])
                {
                    k = arr[j+1];
                    arr[j+1] = arr[i];
                    arr[i] = k;
                }
            }
            System.out.print(arr[i] + " ");
        }   
    }
}

配列をチェックするためのループが 2 つあります。最初のループは配列の各要素を処理することだと理解していますが、2 番目のループはどうでしょうか。なぜjから始まり、iなぜ長さマイナス1まで上がるのですか?

さらに、バブルソートを使用してソートできArrayListますか?

4

2 に答える 2