选择排序算法代码实现

上代码:

复制代码
package com.liu.pro;

import java.util.Arrays;

public class selectionSort {
    public static void main(String[] args) {
        int[] arr = {9,8,5,6,2,7,1,3,4};
        sort(arr);
        System.out.println("选择排序:");
        System.out.println(Arrays.toString(arr));
        sort1(arr);
        System.out.println("选择排序优化:");
        System.out.println(Arrays.toString(arr));
    }

    /**
     * 选择排序
     * @param arr 传入的数组
     */
    public static void sort(int[] arr){
//      遍历0~arr.length-2(包含)
        for (int i = 0; i < arr.length - 1; i++) {
//          定义一个最小值的索引
            int index = i;
//          定义一个最小值并赋初始值
            int min = arr[i];
//          遍历从j=i+1,到最后一个数
            for (int j = i + 1; j < arr.length; j++) {
//              如果找的数值比最小值还要小,替换这个最小值和最小值的索引
                if (min > arr[j]){
                    min = arr[j];
                    index = j;
                }
            }
//          给arr[i]赋值min
//          给arr[index]赋值
            arr[index] = arr[i];
            arr[i] = min;
        }
    }

    /**
     * 选择排序优化
     * @param arr 传入的数组
     */
    public static void sort1(int[] arr){
        for (int i = 0; i < arr.length - 1; i++) {
            int index = i;
            int min = arr[i];
            for (int j = i + 1; j < arr.length; j++) {
                if (min > arr[j]){
                    min = arr[j];
                    index = j;
                }
            }
//          如果index != i 再进行更换,否则不需要进行更换
            if(index != i){
                arr[index] = arr[i];
                arr[i] = min;
            }

        }
    }
}
复制代码

测试结果:

 

posted @   努力学习の小白  阅读(85)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
Live2D
欢迎阅读『选择排序算法代码实现』
点击右上角即可分享
微信分享提示