选择排序

一、选择排序的介绍

简单来说就是,先从数组中找到最小的那个数(先默认第一个数为最小的),对他进行标记(使用一个变量存储它的下标,遇到比他小的更新下标),直到找到数组中的最后一个数,然后将最小的那个数与第一个数进行交换。

接下来我们使用动画演示进行解释

下面的是网址跟截屏以及如何使用
https://visualgo.net/en/sorting

二、进行代码演示

/*
    选择排序指的是先从数组中找到最小的那个数并标记,直到找到最后一位,再将最小的那个数与第一个数进行交换,如此反复
 */

import java.util.Arrays;

public class XuanZeTest1 {
    public static void main(String[] args) {
        int[] a=new int[]{7, 3, 9, 4, 1};
        System.out.println("排序前:"+Arrays.toString(a));
        //第一层循环。保证每一次循环结束,第i个数是最小的
        for(int i=0;i<a.length-1;i++){
            int x=i; //开始时先默认第一个值最小,用x进行标记
            for(int j=i;j<a.length;j++){
                //对数组中每个数进行比较,如果比默认值小,进行替换
                if(a[x]>a[j]){
                    x=j;
                }
                //判断是不是找到最后一个数字了
                if(j==a.length-1){
                    //将最小的那个数与第一个数进行交换
                    int y=a[i];
                    a[i]=a[x];
                    a[x]=y;
                }
            }
        }
        System.out.println("排序后:"+ Arrays.toString(a));
    }
}
posted @ 2024-10-23 10:10  你的镁偷走了我的锌  阅读(12)  评论(0)    收藏  举报