package
sort.algorithm;
//简单选择排序:是一种选择排序
public
class
SelectSort {
public
static
void
main(String[] args) {
// TODO Auto-generated method stub
int
data[] = {
2
,
6
,
10
,
3
,
9
,
80
,
1
,
16
,
27
,
20
,
11
,
3
,
1
,
100
,
89
};
int
temp, k;
// 开始时间
long
start = System.nanoTime();
// 选择的每一趟数,每一趟都会将一个最小的放在最前面。
for
(
int
i =
0
; i < data.length -
1
; i++) {
// 使用k来记录要交换的位置,且k在比较的过程不断变化
k = i;
// 由于每一趟都会将最小的放在最前面,所以索引+1
for
(
int
j = i; j < data.length; j++)
// 这里始终要与k比较
if
(data[j] < data[k])
k = j;
// k已经存放了交换的位置了
temp = data[i];
data[i] = data[k];
data[k] = temp;
}
System.out.println(System.nanoTime() - start);
// 输出排序好的数据
for
(
int
m =
0
; m < data.length; m++) {
System.out.print(data[m] +
" "
);
}
}
}