4.3_8种常用排序算法3(选择排序:简单选择排序+堆排序)

Posted higgincui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.3_8种常用排序算法3(选择排序:简单选择排序+堆排序)相关的知识,希望对你有一定的参考价值。

【简单选择排序】

package com.sort.demo3;

import java.util.Arrays;

/**
 * 简单选择排序
 */
public class SelectSort {

    public static void main(String[] args) {
        int[] arr = new int[]{1,4,5,7,3,9,8,0,2,6};
        System.out.println(Arrays.toString(arr));
        selectSort(arr);
        System.out.println(Arrays.toString(arr));
    }

    /**
     * 简单选择排序
     * @param arr
     */
    public static void selectSort(int[] arr) {
        //遍历所有的数
        for (int i=0;i<arr.length;i++){
            int minIndex = i;
            //把当前的数字和后面所有的数字进行比较,并记录下最小的数的下标
            for (int j=i+1;j<arr.length;j++){
                //如果后面的数比记录的最小的数还小
                if(arr[j]<arr[minIndex]){
                    //记录下最小的那个数的下标
                    minIndex=j;
                }
            }
            //如果最小的数和当前遍历数的下标不一致,说明下标为minIndex的数比当前遍历的数更小
            if(i!=minIndex){
                int temp=arr[i];
                arr[i]=arr[minIndex];
                arr[minIndex]=temp;
            }
        }
    }
}

 

以上是关于4.3_8种常用排序算法3(选择排序:简单选择排序+堆排序)的主要内容,如果未能解决你的问题,请参考以下文章

Java常用排序算法/程序员必须掌握的8大排序算法

算法 之 简单选择排序法

常用算法选择排序与冒泡排序

七种基本排序算法(希尔排序,直接插入排序,冒泡排序,快速排序,简单选择排序,归并排序,堆排序)

Java常用的八种排序算法与代码实现

4.2_8种常用排序算法2(插入排序:直接插入排序+希尔排序)