经典排序之 选择排序
来源:互联网 发布:c语言中与的符号 编辑:程序博客网 时间:2024/05/21 10:35
选择排序和冒泡排序一样,也是时间复杂度为O(n^2)的排序。
数组:5 6 3 1 8 7 2 4,以从小到大排序为例:
(1)先找出从0到N-1个数中的最小数,将它与0位上的数交换;结果是1 5 6 3 8 7 2 4
(2)再从1到N-1中的数找到最小,将它与1位上的数交换;
(3)类似一直循环到只剩下一个数;
总结基本步骤如下:
N为数组长度
1.对数组的第0个数据到N-1个数据进行一次遍历后,找出最小数,将其与第0个数比较,
最小的一个数据就在数组第0个位置。
3.N=N+1,如果N不为数组长度减一就重复前面二步,否则排序完成。
public int[] selectionSort(int[] A, int n) {if (A.length == 0 || A.length > n)return null;int len = A.length;for (int i = 0; i < len; i++) {int min = A[i];int index = i;for (int j = i; j < len; j++) {if (A[j] < min) {min = A[j];index = j;}}int a = A[i];A[i] = min;A[index] = a;}return A;}
0 0
- 经典排序之选择排序
- 经典排序之 选择排序
- 经典排序之选择排序
- 经典算法之选择排序
- 经典算法之选择排序
- C--经典算法之排序---选择排序
- 经典内部排序之选择排序
- 经典算法学习:排序之选择排序
- 经典排序算法之简单选择排序
- 经典排序算法之选择排序
- 经典代码之冒泡排序,选择排序
- 经典排序算法之选择排序算法
- 【排序算法】经典排序算法之选择排序
- 经典算法之选择排序(直接选择、堆排序)
- 面试经典算法3之选择排序
- 8种经典算法之选择排序
- 经典算法整理之选择排序
- java经典算法之选择排序
- NYOJ22-吝啬的国度
- hadoop_1_完全分布式
- 单例类型初体验与在链式调用中的应用
- 你真的会写单例模式吗——Java实现
- 数据库连接池原理分析
- 经典排序之 选择排序
- 如何判断input 中checkbox 中是否勾选
- JavaScript —— JS截取字符串substr 和 substring方法的区别
- Android 二维码生成
- 自定义View学习之12/7(进度条之混合模式)
- 深入分析Java的序列化与反序列化
- 【HDU】 1022 Train Problem I
- android的SDK升级解决方法
- hadoop_2_完全分布式高可用