1.选择排序算法和思路
public class SelectSort {
/**
* 创建日期:2017-3-25上午11:05:03 作者:lvguanghui
*/
public static void main(String[] args) {
/**
* 选择排序
* 思路: 一组数 从第一位先扫描一边 从中找到最小值,把最小值放到第一位 之后两者交换位置
* 之后从第二位开始扫描,从中找到最小值,把最小值放到第二位 之后两者交换位置 如此循环,直到结束
*/
int[] a = { 19, 29, 8, 2, 6, 9 };
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
int temp;// 用来保存要交换的数;
for (int j = 0; j <a.length; j++) {
int min_index=j;// 定义最小值;
for (int i = j; i <a.length; i++) {
if (a[i]<a[min_index]) {
min_index= i;
}
}
System.out.print("最小值"+a[min_index]+" ");
System.out.println("最小值的下标" + min_index);
temp=a[j];
a[j]=a[min_index];
a[min_index]=temp;
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
}
}
2.如图所示