Java经典算法之选择排序

选择排序(Selection sort)是一种简单直观的排序算法。

它的工作原理如下:

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

排序过程:

Java经典算法之选择排序

Java经典算法之选择排序代码实现:

/*选择排序*/
package xuanzepaixu;

import java.util.Arrays;

public class xuanzepaixu {

    public static void main(String[] args) {
        //定义静态数组
        int[] pai = {13,16,22,533,78,53,221,785,};
        //循环 轮数
        for(int i=0;i<pai.length;i++) {
            //保存下标     随着外层往后移
            int xiabiao = i;
            //比较下标 
            for(int j=i+1;j<pai.length;j++) {
                //判断下标对应的大小
                if(pai[j]<pai[xiabiao]) {
                    //下标更改新位置
                    xiabiao = j;
                }
            }
            //进行交换
            int tem = pai[i];
            pai[i] = pai[xiabiao];
            pai[xiabiao] = tem;

        }

        System.out.println(Arrays.toString(pai));
    }

}
上一篇

Java多数组合并,排序,System.arrayCopy 复制类的使用