/*选择排序的思想:需要经过n-1趟比较。
* 第1趟比较:程序将记录定位在第1个数据上,拿第1个数据依次和它后面的每个数据进行比较,
* 如果第1个数据大于后面某个数据,就交换它们......依次类推。经过第一趟比较,这组数据中的最小的数据被选出,它被排在第1位。
*第2趟比较:程序将记录定位在第2个数据上,拿第2个数据依次和它后面的每个数据进行比较,
* 如果第2个数据大于后面某个数据,就交换它们......依次类推。经过第一趟比较,这组数据中的最小的数据被选出,它被排在第2位。
* ......
* 经过n-1趟比较,这组数据中第n-1小的数据被选出来,放在第n-1位;剩下最大的数据,排在最后。
*/
* 第1趟比较:程序将记录定位在第1个数据上,拿第1个数据依次和它后面的每个数据进行比较,
* 如果第1个数据大于后面某个数据,就交换它们......依次类推。经过第一趟比较,这组数据中的最小的数据被选出,它被排在第1位。
*第2趟比较:程序将记录定位在第2个数据上,拿第2个数据依次和它后面的每个数据进行比较,
* 如果第2个数据大于后面某个数据,就交换它们......依次类推。经过第一趟比较,这组数据中的最小的数据被选出,它被排在第2位。
* ......
* 经过n-1趟比较,这组数据中第n-1小的数据被选出来,放在第n-1位;剩下最大的数据,排在最后。
*/
import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
int[] arr = { 1, 4, 9, 2, 0, 6, 8, 5, 7, 3 };
int temp;
for (int i = 0; i < arr.length - 1; i++) {// 每一次的for循环确定第i位上的值,即第i小的数据
for (int j = i + 1; j < arr.length; j++) {// 每次都比较arr[i]、arr[j],如果arr[i]<arr[j],则交换
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
System.err.println(Arrays.toString(arr));
}
System.out.println(Arrays.toString(arr));
}
}