我在进行选择排序的练习,代码如下:
package com.itheima;
import java.util.Arrays;
/*
* 3、 请列举您了解的一些排序算法,并用Java语言实现一个效率较高的。
*/
public class Test03 {
/*
* 在排序方法中,分别有插入排序法,归并排序,快速排序,冒泡排序,希尔排序,选择排序 那么我将用Java语言实现选择排序
*/
public static void main(String[] args) {
// 创建一个数组
int[] arr = { 1, 22, 57, 31, 5, 8, 43, 98, 37 };
System.out.println("排序前的数组为:" + Arrays.toString(arr));
// 循环方法进行选择排序
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length - 1; j++) {
if (arr[i] > arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println("排序后的数组为:" + Arrays.toString(arr));
}
}
运行后如图所示,请问这是什么情况?如果把 j<arr.length-1 改成 j<arr.length 则输出正常...
请指教
|
|