选择排序
来源:互联网 发布:java 手游辅助工具 编辑:程序博客网 时间:2024/06/03 11:02
选择排序
该秋招了,赶紧复习复习一下数据结构和算法吧~~。
选择排序应该是排序里面最好理解的了,加入有
{32,45,55,21,72,98} 这6个数字,每次遍历都找出剩余的数字里最小的与前面的替换,例如第一次遍历从第0个开始也就是32,便利之后发现21是最小的,然后就把21和32交换,即小的放在前面就变成了{21,45,55,32,72,98}。
第二次遍历因为21是最小的了所以就从45开始往后扫描发现32是最小的,所以交换之后顺序就是{21,32,55,45,72,98}。第三遍从55开始扫描………以此类推,最后形成了一个有序的序列。
归纳一下就是,进行n-1次遍历,把最小的放在第0个位置,第二小的放在第一个位置,第三小的放在第二个位置,以此类推……
代码如下
public static void selectSort(int[] num){ int minIndex;//记录当前扫描最小的位置 //i代表已经有序的数目 for (int i = 0; i < num.length; i++){ minIndex=i; //从有序的后一个开始扫描 for (int j = i+1; j < num.length;j++) { if(num[minIndex]>num[j]){ minIndex=j; } } //扫描一遍值后,把最小的放到前面 swap(num,minIndex,i); } for(int a:num){ System.out.println(a); } } private static void swap(int[] num, int i, int j) { int temp=num[i]; num[i]=num[j]; num[j]=temp; }
1 0
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序:
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- 选择排序
- cannot find -llua
- c++中的继承的讲解
- 软件工程师,在接下来的5-10年内应该掌握的技术
- 高级I/O函数之socketpair
- 详解UIView的frame、bounds、center属性
- 选择排序
- 判断是手机网络,还是无线WIFE网络,或者没有网络
- mysql5.5等版本如何启用SSL
- 【HDU】2190 - 悼念512汶川大地震遇难同胞——重建希望小学(递推)
- 洗清UI自动化鸡肋说的不白之冤
- 学习笔记--EditText点击全选效果
- ES6学习笔记 (let、const)
- impala的APPX_COUNT_DISTINCT参数
- learning to rank