0
public static void bubbleSort(Farm a[], int n) {
String[] animals = getString(a);

for(int i = 0; i < n - 1; i++)  {

  boolean swapped = false;
  for(int j = 0; j < n - 1 - i; j++) {

    int c = animals[j].compareTo(animals[j+1]);
    if(c > 0) {
      swap(animals, j, j+1);
      swapped = true;
    }
  }
  if(!swapped) 
    break;
}
for (int i = 0; i < a.length; i++)
  if(a[i] != null)
  System.out.println(a[i].animal);

}

int c = 动物[j].compareTo(动物[j+1]); 由于某种原因,它给了我一个越界错误

4

1 回答 1

1

这好像是n >= animals.length

for再次检查循环中的边界值

于 2011-11-04T05:57:35.583 回答