当前位置:
首页 >
选择排序之小白学算法
发布时间:2024/8/1
54
豆豆
生活随笔
收集整理的这篇文章主要介绍了
选择排序之小白学算法
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
直观展示
排序思路
从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为0.
稳定性
排序算法是不稳定的排序方法
时间复杂度
(N^2)
算法评价
这是一种简单直观的排序算法,无论什么数据进去都是相同的时间复杂度,数据规模越小越好,唯一的好处就是不占用额外的内存空间。
选择排序示例
[2 4 3 1 6 5] 初始状态 [1][3 4 2 6 5] 第一次选择结束 [1 2][4 3 6 5] 第二次选择结束 [1 2 3][4 6 5] 第三次选择结束 [1 2 3 4][6 5] 第四次选择结束 [1 2 3 4 5][6] 第五次选择结束选择排序代码示例:
public void select_sort(int[] arr) {int min;if (nums == null || nums.length < 2) {return;}//总共需要经过n-1轮比较for(int i = 0; i < arr.length-1; i++) {min = i;//每轮需要比较的次数n-ifor (int j = i+1; j < arr.length;j++) {if(arr[min] > arr[j]) {//min记录目前能找到的最小值元素的下标min = j;}}//将找到的最小值和i位置所在的值进行交换if(i != min) {int t = arr[i];arr[i] = arr[min];arr[min] = t;}} }不足之处,欢迎大佬批评指正
总结
以上是生活随笔为你收集整理的选择排序之小白学算法的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 冒泡排序 小白学demo_day2
- 下一篇: 每日算法C语言1-求某整数