选择排序java版

/**
 * @Author: repator
 * @Date: 2019/8/11 23:42
 * @Description: 选择排序
 * 算法思想:每次找比第一个小的,放在前面,使前面的有序。
 **/
public class SelectSort {
    public  static  void main(String []args){
              int[] a={10,9,8,7,5,3,3,23,89};
        System.out.println("排序前:");
        for(int i=0;i<a.length-1;i++){
            System.out.print(a[i]+" ");
        }
        selectSort(a);
        System.out.println("排序后:");
        for(int i=0;i<a.length-1;i++){
            System.out.print(a[i]+" ");
        }
    }
    public static  void selectSort(int []arr){
        for(int i=0;i<arr.length-1;i++){
            int indexsmall=i;//i之前全部为有序,假设第i个为最小,记录下标
            for(int j=arr.length-1;j>i;j--){ //从后往前遍历,如果找到比第i个更小的,将最小元素下标更新
                if(arr[j]<arr[indexsmall]){
                    indexsmall=j;
                }
            }
            int tem=arr[indexsmall];//经过上边从后向前遍历,找到了最小元素位置,将其与第i个元素交换
            arr[indexsmall]=arr[i];
            arr[i]=tem;
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值