2

私はJavaが初めてです。これはウェブサイトから入手したもので、バブルソートを行います。「number.length」の後に「-1」があるのはなぜでしょうか。よくわかりません。誰かが助けてくれたら幸いです。

import java.util.Arrays;

public class Bubblesort {

  public static void main(String[] args) {
    int[] number = {5,16,4,32,30};

    int j;
    boolean flag = true;   // set flag to true to begin first pass
    int temp;   //holding variable

    while ( flag )
    {
          flag= false;    //set flag to false awaiting a possible swap
          for( j=0;  j <number.length-1;  j++ )
          {
                 if ( number[ j ] > number[j+1] )   // change to > for ascending sort
                 {
                         temp = number[ j ];                //swap elements
                         number[ j ] = number[ j+1 ];
                         number[ j+1 ] = temp;
                        flag = true;              //shows a swap occurred
                }
          }
    }
    System.out.println(Arrays.toString( number ));
  }
}
4

7 に答える 7

3

配列は「ゼロベース」です。つまり、最初のアイテムは位置番号ゼロ (0) にあります。

5 つのアイテムがある場合、これは次のようSlot: [0] [1] [2] [3] [4]になります:

于 2013-10-05T09:55:54.097 に答える
0

配列に長さがある場合n、最初の要素は index0にあり、最後の要素は index にありますn-1

于 2013-10-05T09:54:01.317 に答える
0

配列は 0 ベースですが、長さは 1 ベースであるため、最後の要素を取得するには、配列の長さから 1 を削除する必要があります。

于 2013-10-05T09:54:09.787 に答える