美文网首页Java 杂谈Java
排序算法-选择排序

排序算法-选择排序

作者: HuFan_JS | 来源:发表于2019-04-12 23:16 被阅读0次

选择排序(Selection sort)

选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。


简单点~

我们可以将选择排序看下一下几个步骤:
1.遍历待排序数列,找到其中的最大值(或者最小值)。
2.将该值与数列的最后一位(或者第一位)交换位置。
3.再次遍历待排序数列,找到其中的找到其中的最大值(或者最小值)
4.将该值与数列的倒数第二位(或者第二位)交换位置。
5.重复上述操作,直到完成排序。


图示

image

代码实现

public class SelectionSort {
public static void main(String[] args) {
    int[] arr = new int[] { 2, 3, 5, 7, 89, 6, 4, 57, 8, 6, 5, 67 };
    SelectionSort(arr);   
    System.out.println(Arrays.toString(arr));
}

public static void SelectionSort(int[] arr) {
    // pos用来记录最大值角标
    int pos;
    // 交换的变量
    int temp;
    // 控制一共遍历多少轮
    for (int i = 0; i < arr.length - 1; i++) {
        //初始化角标
        pos = 0;
        // 控制每一轮需要比较的次数
        for (int j = 1; j < arr.length - i; j++) {
            if (arr[j] > arr[pos]) {
                pos = j;

            }

        }
        //将每次遍历到的最大值移动到待排序数列的末尾
        temp = arr[arr.length - 1 - i];
        arr[arr.length - 1 - i] = arr[pos];
        arr[pos] = temp;

    }

}

}

本篇完,如果有错误的地方欢迎大家指正
不定时发发笔记,欢迎大家来搞~
我的公众号:Java小部落

相关文章

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

  • 算法and数据结构

    算法 冒泡排序 选择排序 计数排序

  • 基础排序算法总结

    排序算法分为内部排序和外部排序,而我们经常说的基础排序算法,都是内部排序算法。包括冒泡排序,选择排序,插入排序,快...

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 《算法4》2.1 - 插入排序算法(Insertion Sort

    排序算法列表电梯: **选择排序算法:详见 Selection Sort ** 插入排序算法(Insertion ...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

  • 面试算法知识梳理(12) - 二叉树算法第二部分

    面试算法代码知识梳理系列 面试算法知识梳理(1) - 排序算法 插入排序 希尔排序 选择排序 冒泡排序 计数排序 ...

网友评论

    本文标题:排序算法-选择排序

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