一个java程序,冒泡排序,得出来的结果没有排序

public class ArrSort
{
public static void main(String[] args)
{
int[] arr = new int[] {2,9,6,7,4,1};
printArray(arr);
bubbleSort(arr);
printArray(arr);

}

static void bubbleSort(int[] arr)
{
for(int i = 1 ; i <= arr.length -2; i++ )
{
for(int index = 0; index < (arr.length- i) ;index ++ )
{

if(arr[index]>arr[index+1])
{

swap(arr,index+1,index);
}

}
}

}

static void swap(int[] arrCopy,int index1,int index2)
{
int temp;
temp = arrCopy[index2];
arrCopy[index2] = arrCopy[index1];
arrCopy[index2] = temp;

}

static void printArray(int[] arr)
{
if(arr == null)// 判断是否为空引用数据
{
System.out.println("null");
return;
}
String ret = "[";
for(int index = 0;index < arr.length;index ++)
{
ret = ret + arr[index];
if(index != arr.length - 1)
{
ret = ret + ", ";
}
}
ret = ret + "]";
System.out.println(ret);
}
}

你的代码看的我好头疼,你把排序方法这样改:

static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i; j < arr.length; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}

结果:

追问

你是如何按照程序格式上传到百度知道里面的.

温馨提示:答案为网友推荐,仅供参考