java选择排序
2016-08-03 14:12
127 查看
public class ArraySel { private long[] a; private int nElems; public ArraySel(int max){ a = new long[max]; nElems = 0; } public void insert(long value){ a[nElems] = value; nElems++; } public void display(){ for(int i = 0;i<nElems;i++){ System.out.print(a[i]+" "); } System.out.println(""); } public void selectionSort(){ int out,in,min; for(out=0;out<nElems-1;out++){ min=out; for(in=out+1;in<nElems;in++){ if(a[in]<a[min]) min=in; } swap(out,min); } } private void swap(int one,int two){ long temp = a[one]; a[one] = a[two]; a[two] = temp; } }
public class SelectSortApp { public static void main(String[] args) { int maxSize = 100; ArraySel arr = new ArraySel(maxSize); arr.insert(23); arr.insert(56); arr.insert(657); arr.insert(134); arr.insert(45); arr.insert(536); arr.insert(825); arr.insert(24); arr.insert(687); arr.insert(139); arr.display(); arr.selectionSort(); arr.display(); } }
23 56 657 134 45 536 825 24 687 139 23 24 45 56 134 139 536 657 687 825
选择排序和冒泡排序执行了相同次数的比较,N*(N-1)/2,10个数据项,45此比较,但是少于10次交换。
当交换的时间比比较的时间大的多时,选择排序更快。
相关文章推荐
- java实现的冒泡、选择、快速排序
- 【转】Java数组排序总结(冒泡,选择,插入,希尔)
- java:四种int【】数据排序,冒泡,插入,选择,快速排序
- 浅谈java中整型数组选择排序的思想
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java版 选择排序 -Java 学习笔记 (20)
- Java-数组排序(选择,冒泡,插入)
- Java 实现选择排序代码
- Java数组排序总结(冒泡,选择,插入,希尔)
- (转) Java 数组排序总结 ( 冒泡,选择,插入,希尔)
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 内排序算法的java实现---直接选择排序
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
- java:三种经典大排序汇总,冒泡,插入,选择
- Java实现数组排序总结篇(冒泡,选择,插入,希尔)
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- java实现 冒泡排序 插入排序 选择排序
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排
- 用JAVA实现排序算法之三:直接选择排序