/**
* 选择排序
* 定义:
* 遍历集合元素任一一个,和后面的每个元素比较。取最小的一个值,和当前值交换,这样就得到了一个排好序的集合/数组。
* 选择排序练习
* 样例数据
*/
public class SelectionSort {
public static void main(String[] args) {
int[] arr = {5, 3, 6, 8, 1, 7, 9, 4, 2};
for (int i = 0; i < arr.length; i++) {
int minPos = i;
for (int j = i; j < arr.length; j++) {
if (arr[minPos] > arr[j]) {
minPos = j;
}
}
// 交换 最小值和 下标为i的值
swap(arr,i,minPos);
}
Arrays.stream(arr).forEach(System.out::println);
// Arrays.asList(arr).forEach(System.out::println);
}
private static void swap(int[] arr, int i, int minPos) {
int temp = arr[i];
arr[i] = arr[minPos];
arr[minPos] = temp;
}
}
排序算法
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 选择排序 对于任何输入,时间为O(n*n); 冒泡排序 最优(对于升序的数组,因为加入了一个跳出判断):O(n),...
- 最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴...
- 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,...