选择排序

选择排序的推理以及写法

  1. 定义一个数组
  2. 判断该数组需要进行的对比轮数
  3. 找出需要寻找下标值次数与轮数之间的关系
  4. 寻找每轮下标最小值
  5. 交换元素值
  6. 循环输入排序后的数组元素
 private static void test11() {
        int arr[]={3,2,4,5,7,8,9,0  ,1,7};//定义一个数组
        //数组需要进行查找的轮数
        for (int i = 0; i <arr.length-1 ; i++) {
            //定义一个最小下标为0
            int min=i;
            //查找最小值下标
            for (int j = i; j <=arr.length-1 ; j++) {
                if(arr[j]<arr[min]){
                    min=j;
                }
            }
            //交换前后元素的值
            int t=arr[i];
            arr[i]=arr[min];
            arr[min]=t;
        }
        //循环输出排序后各元素
        for (int i = 0; i <=arr.length-1 ; i++) {
            System.out.print(arr[i]+" ");
        }
    }

运行结果如下
在这里插入图片描述
需要注意跟冒泡排序不同 选择排序每轮需要确定的是最小数的下标然后依次排序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值