package com.hym.test;
public class SelectSort {
int[] arrayTest = { 5, 26, 1, 783, 23, 2, 62, 9, 46 };
public void selectSort() {
for (int i = 0; i < arrayTest.length; i++) {
int theMinNumIndex = i;
for (int j = i; j < arrayTest.length; j++) {
if ((j < arrayTest.length - 1)
&& (arrayTest[theMinNumIndex] > arrayTest[j + 1])) {
theMinNumIndex = j + 1;
}
}
int temp = arrayTest[i];
arrayTest[i] = arrayTest[theMinNumIndex];
arrayTest[theMinNumIndex] = temp;
}
}
public static void main(String[] args) {
SelectSort sort = new SelectSort();
sort.selectSort();
for (int i = 0; i < sort.arrayTest.length; i++) {
System.out.print(sort.arrayTest[i] + " ");
}
}
}
1. 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
2. 选择排序比较的次数没有减少,只是每次找到最小的那个,最后才交换位置。所以减少了交换的次数。比冒泡排序快。
3. [url]http://baike.baidu.com/view/547263.htm[/url]