java 经典算法-选择排序
选择排序是比冒泡排序该机的常用内部排序算法,大体上分为直接选择排序和堆排序,选
择排序的基本思想是每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在
已排好序的数列的最后,直到全部待排序的数据元素排完。
直接选择排序算法的思想比较简单:(假设数据放在一个数组 a 中,且数组的长度是 N)
1:从 a[0]-a[N-1]中选出最小的数据,然后与 a[0]交换位置
2:从 a[1]-a[N-1]中选出最小的数据,然后与 a[1]交换位置(第 1 步结束后 a[0]就是 N
个数的最小值)
3:从 a[2]-a[N-1]中选出最小的数据,然后与 a[2]交换位置(第 2 步结束后 a[1]就是
N-1 个数的最小值)
以此类推,N-1 次排序后,待排数据就已经按照从小到大的顺序排列了。
直接选择排序的 java 实现如下:
?
/**
* 简单选择排序:执行完一次内 for 循环后最小的一个数放在了数组的最前面。
*/
public class SelectSort {
/**
* 排序算法的实现,对数组中指定的元素进行排序
* @param array 待排序的数组
* @param from 从哪里开始排序
* @param end 排到哪里
* @param c 比较器
*/
public void select(Integer[] array) {
int minIndex;//最小索引
/*
评论0
最新资源