算法之选择排序

        选择排序基本思路:从所有元素中选择一个最小元素a[i]放在a[0](即让最小元素a[i]与a[0]交换),作为第一轮;第二轮是从a[1]开始到最后的各个元素中选择一个最小元素,放在a[1]中;……依次类推。n个数要进行(n-1)轮。比较的次数与冒泡法一样多,但是在每一轮中只进行一次交换,比冒泡法的交换次数少,相对于冒泡法效率高。

/**
 * 
 */
package com.zimo.algorithm;

/**
 * @author 子墨
 *
 * 2015-3-4下午10:51:32
 */
public class SelectSort {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[] data={25,15,42,16,12,36};
		
		selectSort(data);
		
		for (int i = 0; i < data.length; i++) {
			System.out.println(data[i]);
		}
	}

	/**
	 * 选择排序
	 * @param data
	 */
	private static void selectSort(int[] data) {
		int temp;
		int min;
		
		for (int i = 0; i < data.length; i++) {
			min = i;
			for (int j = i+1; j < data.length; j++) {
				if (data[min] > data[j]) {
					min=j;
				}
			}
			
			temp = data[i];
			data[i] = data[min];
			data[min] = temp;
		}
	}

}


你可能感兴趣的:(算法,排序算法,选择算法)