Java算法之选择排序

来源:互联网 发布:linux怎样备份数据库 编辑:程序博客网 时间:2024/06/09 05:33

举例:要排序的数组  int[] arr={7,9,8,4,5,1,6,3,2,0};

从小到大排列:

/*选择排序、简单选择排序、直接选择排序*/public class SelectionSort {    public static void main(String[] args) {        int[] arr={7,9,8,4,5,1,6,3,2,0};               for(int i=0; i<arr.length-1;i++) {//做第i趟排序            int j=i;//i这边为准备排好序的            for(int k=j+1; k<arr.length;k++){//循环找出最小的数                if(arr[k]<arr[j]){//下标为j的数比前面下标为k的数小(从小到大排列,从大到小则改为>)                    j = k; //记下目前找到的最小值所在的位置                }            }            //在内层循环结束,也就是找到本轮循环的最小的数以后,再进行交换            if(i!=j){//交换a[i]和a[j]                int temp=arr[i];                arr[i]=arr[j];                arr[j]=temp;            }            }        for(int b=0;b<arr.length;b++){//输出     System.out.println(arr[b]);}}}
运行结果:

0123456789
这种选择排序算法先比较后交换,由于存在不相邻元素之间的互换,因此,它是一种不稳定的排序方法。   


原创粉丝点击