选择排序java版本

来源:互联网 发布:软件国产化 概念 编辑:程序博客网 时间:2024/05/19 20:42

算法描述:

从所有无序元素中找到最小的一个元素,将无序元素中的首元素与最小元素交换位置

交换后,最小元素进入有序区,之后继续以上过程,直到只剩余一个元素


public class selection_sort {public static void main(String[] args) {// TODO Auto-generated method stubint[] intarry={12,1,90,2,11,9,4,6,13,5,3,33};selectionsort(intarry);for(int i:intarry){System.out.print(i);System.out.print(",");}}public static void selectionsort(int[] intarry){for(int i=0;i<intarry.length;i++){int min=intarry[i];int minindex=i;for(int j=i+1;j<intarry.length;j++){if(min>intarry[j]){min=intarry[j];minindex=j;}}intarry[minindex]=intarry[i];intarry[i]=min;//打印内循环完成后的中间结果for(int j:intarry){System.out.print(j);System.out.print(",");}System.out.println("中间结果");}}}
选择排序的特性是需要进行o(n^2)的排序,与进行o(n)的交换

在所有完全依靠交换来移动元素的排序方法中,选择排序是非常好的。元素交换次数小于冒泡排序,并且小于插入排序。


0 0