排序之选择排序(java)
来源:互联网 发布:作为打印机网络主机 编辑:程序博客网 时间:2024/05/17 10:53
算法入门
1、选择排序(思想)
假设有一个长度为n的数组。
首先,假设第一个元素最小,然后我们从数组下标为1 - n-1 个元素与当前最小进行比较若比其小,则将下标进行交换,一直比较,直到比较到n-1为止,然后交换此时的下标为min的元素a[min]与a[o]进行交换;然后将第二个元素假设为最小,然后我们从数组下标为2- n-1 个元素与当前最小进行比较若比其小,则将下标进行交换,一直比较,直到比较到n-1为止,然后交换此时的下标为min的元素a[min]与a[o]进行交换.如此反复,一直到整个数组有序。
2、代码实现
package test01;public class SwitchSort1 {public static void sort(Comparable[] a){int N = a.length;for(int i=0;i<N;i++){int min =i;for(int j=i+1;j<N;j++){if(less(a[j], a[min])){min =j;}}exch(a, i, min);}}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;}public static void main(String[] args) {Integer a[] ={3,4,5,6,74,334,444,23,33};sort(a);show(a);}}
阅读全文
0 0
- java排序之选择排序(二)
- 排序之选择排序(java)
- Java排序之选择排序
- java 排序 之选择排序
- Java排序之选择排序
- Java 排序之 选择排序
- java排序之 选择排序
- java排序之 选择排序
- java排序之 --- 选择排序
- 选择排序之直接选择(Java)
- Java之排序(冒泡排序、选择排序)
- Java之选择排序
- java之选择排序
- JAVA之选择排序
- Java之选择排序
- Java之选择排序
- java算法之五简单选择排序(选择排序)
- java之选择排序(直接选择排序)
- 【JZOJ5238】【GDOI2018模拟8.7】的士碰撞
- HDU3718ZOJ3425 Similarity(The 2010 ACM-ICPC Asia Chengdu Regional Contest,加权二分图的最优匹配)
- IndiaHacks 2nd Elimination 2017 E
- Tomcat 中如何给 web 项目配置虚拟目录
- Android 未捕获异常crash崩溃日志的截取
- 排序之选择排序(java)
- UVa 3882 And Then There Was One(stl+有技巧的模拟||数学方法+约瑟夫问题)
- 4---LeetCode【tag: Array】【Remove Duplicates from Sorted Array】|C语言|总结
- 对于系统API,只知其一造成重复写入
- python问卷
- UVA-129 Krypton Factor 困难的串
- IOS基础-retain, copy, assign区别
- Android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
- 推荐