package com.boryou.sortingalgorithm.program.简单选择;
/**
* 简单选择排序
* 需求分析:
* 遍历整个序列,将最小的数放在最前面。
* 遍历剩下的序列,将最小的数放在最前面。
* 重复第二步,直到只剩下一个数。
*/
public class SelectionSort {
public static void main(String[] args) {
int[] a={49,38,65,97,76,13,27,49,78,34,12,64,1}; //定义需要排序数组
System.out.println("简单选择排序前");
for (int i:a){
System.out.print(i+"\t");
}
int length = a.length;
for (int i = 0; i < length; i++) {//循环次数
int key = a[i];
int position=i;
for (int j = i + 1; j < length; j++) {//选出最小的值和位置
if (a[j] < key) {
key = a[j];
position = j;
}
}
a[position]=a[i];//交换位置
a[i]=key;
System.out.println("\n第"+i+"次插入结果");
for (int r:a){
System.out.print(r+"\t");
}
}
System.out.println("\n简单选择排序后");
for (int i:a){
System.out.print(i+"\t");
}
}
}