选择排序基本思路:从所有元素中选择一个最小元素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; } } }
原文地址:http://blog.csdn.net/elinavampire/article/details/44077645