java实现选择排序
2019独角兽企业重金招聘Python工程师标准>>>
<!-- lang: java -->
public class Selection_Sort {
public static void main(String[] args) {Comparable[] a = {23, 3, 4, 5, 30, 2};sort(a);show(a);
}
//algorith
public static void sort(Comparable[] a){for (int i = 0; i < a.length; i++){int small = i;for(int j = i+1; j < a.length; j++){if(less(a[j], a[small])) small = j;}exch(a, i, small);}
}private static boolean less(Comparable v, Comparable w){ return v.compareTo(w) < 0;}
private static void exch(Comparable[] a, int i, int j){Comparable t = a[i]; a[i] = a[j]; a[j] = t;
}
private static void show(Comparable[] a){for (int i = 0; i < a.length; i++)System.out.print(a[i] + " ");System.out.println();
}
public static boolean isSorted(Comparable[] a){for (int i = 1; i < a.length; i++)if (less(a[i], a[i-1]))return false;return true;
}
}
转载于:https://my.oschina.net/u/1040123/blog/127228
java实现选择排序相关推荐
- java中选择排序和冒泡排序_Java选择排序就是比冒泡排序牛「具体详情,请看此文」...
什么是选择排序 选择排序原理即是,遍历元素找到一个最小(或最大)的元素,把它放在第一个位置,然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置,依次下去,完成排序. 时间复杂度 选择排序的 ...
- Java利用选择排序和冒泡排序实现对键盘录入的数据排序
Java利用选择排序和冒泡排序实现对键盘录入的数据排序 选择排序 选择排序是遍历元素找到最大(最小)的元素,放到第一个位置然后到剩余的元素里找到第二大(小)的元素放到第二个,因此类推,就可以得到一个排 ...
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- 过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- 【十大经典排序算法】java实现--选择排序(2)
选择排序概述 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置. 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾. 重复第二步,直到所有元素均排序完毕. 选择排序j ...
- java 之选择排序与冒号排序的详解
选择排序: 核心思想:直接从待排数据中"选出"最小,或最大的数据,直接放在序列的前列位置,直到所有待排元素全部排列完毕 java代码的实现: public static void ...
- Java实现选择排序及其优化
本文带来八大排序算法之选择排序 选择排序(Select Sorting)属于内部排序算法.是从待排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的. 基本思想: 第 1 次从 a ...
- java实现选择排序 带打印,选择排序算法的JAVA实现
选择排序算法的JAVA实现 package Utils.Sort; /** *利用选择排序法对数组排序,数组中元素必须实现了Comparable接口. */ public class ChooseSo ...
- Java | 用Java实现选择排序算法(记录写程序全过程的编程哲学)
最近听了马士兵老师的java算法课,感觉这不错,我很欣赏其中的编程哲学. 一.编程哲学 有简单到复杂 1.1 验证一步走一步 1.2 多打印中间结果 先局部后整体 先粗糙后精细 3.1 变量更名 3. ...
- Java中选择排序,冒泡排序,插入排序,快速排序
一:冒泡法排序 //冒泡排序 注:从小到大排 //特点:效率低,实现简单 //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡 ...
最新文章
- 应用程序异常管理组件 Example 程序
- SAP ABAP里数据库表的Storage Parameters从哪里来的
- linux内核中的GPIO系统之(1):软件框架
- wave格式分析,wave音频文件格式分析配程序
- 怎么自定义linux登录界面?
- static详解java_java中static作用详解
- python学习-大牛整理!Python学习方法和学习路线,看完茅塞顿开!
- Java FileOutputStream
- 论文投递,核心期刊目录(2017版)
- unity3d摄像机的透视有些夸张怎么办?
- Windows系统基础配置
- 推荐十本值得一读的AI书籍(留言送书)
- 行列式的子式、主子式、顺序主子式、余子式、代数余子式
- 简易javascript图片轮播代码
- PHP fscanf
- Softmax激活函数
- linux进程kill命令关不掉
- 顺丰快递电话查询比网上查询更提前更详细
- omniplan导出html,MAC系统下的甘特图神器——Omniplan3使用指南
- 【人脸交换技术】:探索最高效的面部转换算法
热门文章
- Html做网络硬盘系统交互,教你做网络硬盘(上)
- uvm 形式验证_一种基于UVM的总线验证方法与流程
- python3.8提示pip_Linux下升级安装python3.8并配置pip及yum的教程
- linux异机拷贝,rman恢复异机数据库
- python zipfile教程_Python模块zipfile原理及使用方法详解
- win2012中让IIS同时支持多版本ASP.NET 3.5/4.0/4.5的方法
- 埃洛等级分系统【转自百度百科】
- [SCOI2010]生成字符串
- java.lang.OutOfMemoryError处理错误
- Ubuntu 13.04 安装 SSH SERVER记