lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1846 随笔 :: 0 文章 :: 109 评论 :: 288万 阅读

 

1. 算法思想

简单选择排序是一种基本的排序算法,

它的思想是

  • 每次从待排序的序列中选择一个最小(或最大)的元素,放到已排序的序列末尾,直到所有元素都排好序。

它的时间复杂度是O(n^2),空间复杂度是O(1)。

 

2.  图解

 

 

3.  JAVA实现

下面是简单选择排序的JAVA实现:

public class SelectionSort {
    public static void sort(int[] arr) {
        // 遍历数组,每次找出最小的元素
        for (int i = 0; i < arr.length - 1; i++) {
            // 记录最小元素的索引
            int minIndex = i;
            // 从i+1开始,比较剩余的元素
            for (int j = i + 1; j < arr.length; j++) {
                // 如果找到更小的元素,更新最小索引
                if (arr[j] < arr[minIndex]) {
                    minIndex = j;
                }
            }
            // 如果最小索引不是i,交换两个元素
            if (minIndex != i) {
                int temp = arr[i];
                arr[i] = arr[minIndex];
                arr[minIndex] = temp;
            }
        }
    }

    public static void main(String[] args) {
        // 测试数组
        int[] arr = {5, 3, 7, 9, 1, 4, 6, 8, 2};
        // 调用排序方法
        sort(arr);
        // 打印排序后的结果
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}
posted on   白露~  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2018-07-03 java System.arrayCopy使用说明
2018-07-03 list.remove的使用分析
点击右上角即可分享
微信分享提示