美文网首页
选择排序(Java版)

选择排序(Java版)

作者: lkmc2 | 来源:发表于2018-01-08 23:12 被阅读225次

选择排序是每次循环都从未被选择的数组中选取一个最小值放在数组前面。第一次循环将全部数组中的最小值放在下标为0的位置,此时,下标为0的数被视为已被选择数组;第二次循环将从未被选择的数组从选出第二最小值放在下标为1的位置……由此循环到数组中不包含未被选择的数为止。

归并排序的最好、最坏和平均时间复杂度都是O(n^2)。

/**
 * Created by lkmc2 on 2018/1/8.
 */
public class SelectSort {
    public static void selectSort(int[] array) {
        for (int i = 0; i < array.length; i++) {
            //标签当前下标为最小值下标
            int min = i;

            //从i下标的后一位到数组最后一位选出最小值的下标
            for (int j = i + 1; j < array.length; j++)
                if (array[j] < array[min])
                    min = j;
            //将最小值的下标与i位置的值交换
            int temp = array[i];
            array[i] = array[min];
            array[min] = temp;
        }
    }

    public static void main(String[] args) {
        int[] array = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
        selectSort(array);

        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}
运行结果

相关文章

  • 常用的两种排序-冒泡、选择

    Swift版 冒泡排序 选择排序 OC版 冒泡排序 选择排序

  • 选择排序(Java版)

    选择排序是每次循环都从未被选择的数组中选取一个最小值放在数组前面。第一次循环将全部数组中的最小值放在下标为0的位置...

  • 选择排序 --- Java版

    思路 原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素...

  • 四、Java版选择排序

    一、核心思想 扫描所有的元素,得到最少的元素,并将最小的元素与左边第一个元素进行交换。再次扫描除了第一个位置以外的...

  • 冒泡排序 选择排序

    冒泡排序 java 实现 C 实现 选择排序 java 实现 C 实现

  • 排序算法之选择排序-java版

    1.选择排序 1.1 选择排序的基本介绍 选择排序类似于冒泡排序,均属于内排,也可以看做是对冒泡排序的优化。因为冒...

  • (306)排序-java实现的选择/插入/希尔排序

    引言 用java实现的选择排序、插入排序、希尔排序。 代码(java) 运行结果

  • 快速排序

    手写java版快速排序算法实现

  • 数据结构之排序

    选择排序1.直接选择排序 原理直接选择排序过程直接选择排序过程 实现: DataWrap.java来模拟待排序的数...

  • java快速学习排序---选择排序

    1.java实现选择排序 (1)、图解选择排序 (2)、选择排序的思想 选择排序首先在未排序序列中找到最小(大)元...

网友评论

      本文标题:选择排序(Java版)

      本文链接:https://www.haomeiwen.com/subject/xmvinxtx.html