java算法--选择排序操作

选择排序(java实现)

一、选择排序简明介绍(从小到大)

  1. 选择排序算法思想

选择排序的时间复杂度为O(n2),选择排序是比较不稳定的排序方法。n值越小越稳定。

选择排序就是将一组无序的 int 类型数组进行排序,此次以从小到大排序为例。
核心
int[] array = {};
在这里插入图片描述
核心
第一次从array[1]—array[n-1]中取最小值与array[0]交换
第二次从array[2]—array[n-1]中取最小值与array[1]交换
。。。。。
2. 算法过程
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201209211719116.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ2MzQzNTU5,size_16,color_FFFFFF,t_70
第一趟:数组第一位17与后面数值比较,17>3,3再与后面的值比较3最小,结束比较,3与17交换。
第二趟:数组第二位17与后面之比较,17>9,9与17交换。
第三趟:数组第三位25与后面值比较,25<14,14再与后面比较14最小,结束比较,14与25交换。
。。。。。。。。。

  1. 动态图
    在这里插入图片描述

二、代码实现

插入排序 方法实现

public static void selectSort(int[] array){
    
    
        for (int i = 0; i < array.length-1; i++) {
    
    
            int minIndex = i;
            int min = array[i];
            for (int j = i+1; j < array.length; j++) {
    
    
                if (min>array[j]){
    
    
                    min=array[j];
                    minIndex=j;
                }
            }
            if (minIndex!=i){
    
    
                array[minIndex] = array[i];
                array[i]=min;
            }
        }
    }

测试

public static void main(String[] args) {
    
    
        int[] array={
    
    3,9,-1,10,20,30,45,22,-6,-12};
        System.out.println("排序前");
        System.out.println(Arrays.toString(array));
        selectSort(array);
        System.out.println("排序后");
        System.out.println(Arrays.toString(array));
}

测试结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_46343559/article/details/110952556