lotus

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

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

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 2023-07-03 21:23  白露~  阅读(25)  评论(0编辑  收藏  举报