直接选择排序 £神魔★判官ぃ 2022-05-29 14:15 205阅读 0赞 ### 直接选择排序 ### ##### 算法描述: ##### 所谓直接选择排序,就是假设有一个长度为n的数组Array,第一次从Array\[0\]~Array\[n-1\]中选取最小值,与Array\[0\]交换,第二次从Array\[1\]~Array\[n-1\]中选取最小值,与Array\[1\]交换,...,第i次从Array\[i-1\]~Array\[n-1\]中选取最小值,与Array\[i-1\]交换,以此类推,总共通过n-1次,得到一个按排序码从小到大排列的有序序列. 例如: 初始状态 \[ 8 3 2 1 7 4 6 5 \] 8 -- 1 第一次 \[ 1 3 2 8 7 4 6 5 \] 3 -- 2 第二次 \[ 1 2 3 8 7 4 6 5 \] 3 -- 3 第三次 \[ 1 2 3 8 7 4 6 5 \] 8 -- 4 第四次 \[ 1 2 3 4 7 8 6 5 \] 7 -- 5 第五次 \[ 1 2 3 4 5 8 6 7 \] 8 -- 6 第六次 \[ 1 2 3 4 5 6 8 7 \] 8 -- 7 第七次 \[ 1 2 3 4 5 6 7 8 \] 排序完成 ##### 时间复杂度:O(n\*n), ##### ##### 空间复杂度:O(1) ##### ##### java实现 ##### public static void selectSort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { int index = i; for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[index]) { //遍历查询最小值的index index = j; } } if (i != index) { //如果i与index不同,需要交换i与index的值 swap(arr, i, index); } } } public static void swap(int[] arr, int i, int index) { int tmp = 0; tmp = arr[i]; arr[i] = arr[index]; arr[index] = tmp; } github地址: [https://github.com/xckNull/Algorithms-introduction.git][https_github.com_xckNull_Algorithms-introduction.git] [https_github.com_xckNull_Algorithms-introduction.git]: https://github.com/xckNull/Algorithms-introduction.git
相关 直接选择排序 直接选择排序和直接插入排序类似,都将数据分为有序的区域和无序的区域。所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序 爱被打了一巴掌/ 2022年08月07日 05:54/ 0 赞/ 174 阅读
相关 直接选择排序 选择排序是一种简单直观的排序算法。其基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排 短命女/ 2022年06月16日 09:12/ 0 赞/ 197 阅读
相关 直接选择排序 直接选择排序算法也是一种比较简单的排序算法,它的基本思想是:在第i次选择操作中,通过n-i次键值间比较,从n-i+1个记录中选出键值最小的记录,并和第i(1 ≤ i ≤ n-1 Myth丶恋晨/ 2022年06月07日 07:54/ 0 赞/ 200 阅读
相关 直接选择排序 直接选择排序 算法描述: 所谓直接选择排序,就是假设有一个长度为n的数组Array,第一次从Array\[0\]~Array\[n-1\]中选取最小值,与Array £神魔★判官ぃ/ 2022年05月29日 14:15/ 0 赞/ 206 阅读
相关 直接选择排序 include<iostream> using namespace std; void swap(int a,int b) Bertha 。/ 2022年03月29日 06:25/ 0 赞/ 268 阅读
相关 选择排序——直接选择排序 / 算法思想: 在每一趟的排序中,从待排序列中选出关键字最小或者最大的元素放在其最终的位置上 / / 过程 不念不忘少年蓝@/ 2022年03月20日 02:54/ 0 赞/ 296 阅读
相关 直接选择排序 include<iostream> using namespace std; void swap(int a,int b) 刺骨的言语ヽ痛彻心扉/ 2021年12月14日 00:41/ 0 赞/ 312 阅读
相关 直接选择排序 直接选择排序: 从待排序的记录序列中选择关键码最小(或最大)的记录并将它与序列中的第1个记录交换位置;然后从不包括第一个位置上的记录序列中选择关键码最小(或 Love The Way You Lie/ 2021年09月17日 00:16/ 0 赞/ 337 阅读
相关 直接选择排序 直接选择排序 【思想】:将指定排序位置与其他数组元祖分别对比,如果满足条件就交换元素,不同于冒泡排序,这里交换的是满足条件的元素与指定的排序位置。 【优越性】:与冒泡排序相 冷不防/ 2021年09月16日 03:14/ 0 赞/ 355 阅读
还没有评论,来说两句吧...