package com.lin.sort;
/**
* @version 创建时间:2016-8-12 下午03:01:26
* 类说明 :简单选择排序
*
* 选择排序法与冒泡排序法一样,最外层循环仍然要执行n-1次,其效率仍然较差。该算法的时间复杂度为 O(n2)。并且排序是稳定的。
*/
public class SimpleSort {
public static void sort(int[] data){
//数组长度
int len = data.length;
for(int i = 0;i < len;i++){
//记录当前位置
int position = i;
//找出最小的数,并用position指向最小数的位置
for(int j = i+1; j < len;j++){
if(data[position] > data[j]){
position = j;
}
}
//交换最小数data[position]和第i位数的位置
int temp = data[i];
data[i] = data[position];
data[position] = temp;
}
}
public static void main(String[] args) {
int vec[] = new int[] { 37, 46, 33, -5, 17, 51 };
sort(vec);
for (int k : vec) {
System.out.print(k +" ");
}
}
}
排序算法之简单选择排序
于 2017-08-30 13:46:05 首次发布