选择排序 -JAVA详解
来源:互联网 发布:航线保持算法 编辑:程序博客网 时间:2024/06/14 01:01
/** * 选择排序是一种简单的排序算法,原理是把待排序数组分为已排序好和未排序两个,开始先从数组中找到一个最小(最大)元素, * 放在数组的开始位置作为已排序好数组,假设是第一个元素,然后跟后边元素去比较,小则更新,内部循环结束后去如果更新过了去交换值 * * 和冒泡排序的区别,冒泡排序会依次比较交换相邻不合法元素,而选择排序每次遍历都是记录了最小(最大)元素的位置,最后只做一次交换即可 * * 时间复杂度O(n^2) * * @author yanhom */public class SelectionSort { /** * 注意点:两个循环数组下标,避免越界 * * @param arr */ public static void sort(int[] arr) { int len = arr.length; for(int i = 0; i < len - 1; i++) { //已排序数组下标变化 int min = i; //记录最小(最大)元素 for (int j = i+1; j < len; j++) { //未排序数组下标变化 if(arr[j] < arr[min]) { min = j; //更新值 } } if(min != i) { swap(arr, i, min); //交换元素 } } } private static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void main(String[] args) { int[] arr = {2,3,1,4,4,0,6,7,4,6,8,9}; sort(arr); for(int i =0; i < arr.length; i++) { System.out.println(arr[i]); } }}
阅读全文
0 0
- java选择排序详解
- 选择排序 -JAVA详解
- java语言选择排序详解
- java语言选择排序详解
- java实现冒泡排序,选择排序,插入排序算法详解
- 选择排序详解 (java实现)
- 排序-选择排序-Java
- 选择排序(selection_sort)详解
- 选择排序法详解
- 选择排序详解
- 选择排序详解
- 排序详解:简单选择排序
- 插入排序、冒泡排序和选择排序详解与Java实现
- 【选择排序】直接选择排序--Java
- 选择排序----直接选择排序----java实现
- JAVA 冒泡排序 选择排序
- Java--选择排序,冒泡排序
- 排序算法-选择排序 java
- 多重纹理
- x264编译到ffmpeg的方法
- java两个字符串的重复率检查
- java-泛型
- 原型链
- 选择排序 -JAVA详解
- 译见|深度剖析「微服务架构」的九大特征
- ros卸载
- JAVA基础知识
- 剑指offer 跳台阶
- 10道典型的JavaScript面试题+5道JavaScript基础面试题
- 循环遍历总结(for/foreach/forin/forof/map/some/filter)
- 后台界面实时获取用户输入内容,springMVC+Ajax实现(源码)
- 合并两个有序的单链表