java怎么实现选择排序

发布时间:2022-01-17 14:32:42 作者:清风
来源:亿速云 阅读:164

Java怎么实现选择排序

选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是:每次从未排序的部分中选择最小(或最大)的元素,将其放到已排序部分的末尾。选择排序的时间复杂度为O(n²),因此它适用于数据量较小的场景。

选择排序的基本步骤

  1. 初始化:假设数组的第一个元素为最小元素。
  2. 查找最小元素:遍历未排序部分,找到最小元素的位置。
  3. 交换元素:将最小元素与未排序部分的第一个元素交换位置。
  4. 重复:重复上述步骤,直到所有元素都排序完成。

Java实现选择排序

下面是一个使用Java实现选择排序的示例代码:

public class SelectionSort {

    public static void selectionSort(int[] arr) {
        int n = arr.length;

        // 遍历数组
        for (int i = 0; i < n - 1; i++) {
            // 假设当前索引为最小元素的位置
            int minIndex = i;

            // 在未排序部分查找最小元素
            for (int j = i + 1; j < n; j++) {
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }

            // 将最小元素与未排序部分的第一个元素交换
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }
    }

    public static void main(String[] args) {
        int[] arr = {64, 25, 12, 22, 11};

        System.out.println("排序前的数组:");
        printArray(arr);

        selectionSort(arr);

        System.out.println("排序后的数组:");
        printArray(arr);
    }

    public static void printArray(int[] arr) {
        for (int i : arr) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
}

代码解析

  1. selectionSort方法

    • n 是数组的长度。
    • 外层循环从第一个元素开始,遍历到倒数第二个元素。
    • 内层循环从当前元素的下一个元素开始,遍历到数组末尾,查找最小元素的位置。
    • 找到最小元素后,将其与当前元素交换位置。
  2. main方法

    • 初始化一个整数数组 arr
    • 调用 selectionSort 方法对数组进行排序。
    • 使用 printArray 方法打印排序前后的数组。

输出结果

运行上述代码,输出结果如下:

排序前的数组:
64 25 12 22 11 
排序后的数组:
11 12 22 25 64 

选择排序的优缺点

优点

缺点

总结

选择排序是一种基础的排序算法,虽然它的时间复杂度较高,但在某些特定场景下(如数据量较小或对内存要求较高)仍然有其应用价值。通过本文的示例代码,你可以轻松地在Java中实现选择排序,并理解其工作原理。

推荐阅读:
  1. python如何实现选择排序
  2. java实现选择排序完整代码

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:gzip压缩文件底层结构及文件损坏的修复方法是什么

下一篇:vue如何用Echarts画柱状图

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》