java选择排序算法深度讲解

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.如图所示

java选择排序算法深度讲解