美文网首页
数据结构之排序算法-选择排序

数据结构之排序算法-选择排序

作者: 沉淀者 | 来源:发表于2020-03-15 13:44 被阅读0次

一、简述

从前往后为基准,第一个是第一小,第二个是第二小,

二、解决思路

1.将第一个值看成最小值
2.将第一个值与后面的比较找出最小的值和它的下标
3.交换本次遍历的起始值和最小值
4.继续第二个开始重复这个操作

三、举例

        6,5,3,2,4
        2,5,3,6,4
        2,3,5,6,4
        2,3,4,6,5
        2,3,4,5,6

四、代码思路

外循环多少次
内循环多少次
思考边界点

五、具体代码

class ChooseSortDemo {
    public static void main(String[] args) {
        int[] sorts=new int[]{6,5,3,2,4};
        System.out.print("排序前数组:");
        for (int i:sorts) {
            System.out.print(i);
        }

//        6,5,3,2,4
//        2,5,3,6,4
//        2,3,5,6,4
//        2,3,4,6,5
//        2,3,4,5,6
        for (int i = 0; i < sorts.length-1; i++) {
            int minIndex=i;
            for (int j = i+1; j < sorts.length; j++) {
                if(sorts[minIndex]>sorts[j]){//记录最小数的下标
                    minIndex=j;
                }
            }

            //一轮结束,交换i和minIndex的数值
            int temp=sorts[i];
            sorts[i]=sorts[minIndex];
            sorts[minIndex]=temp;

        }

        System.out.println("");
        System.out.print("排序后数组:");
        for (int i:sorts) {
            System.out.print(i);
        }
    }

}

相关文章

  • 2018-06-30

    排序算法之堆排序 堆排序是利用堆的数据结构而设计的一种排序算法,堆排序是一种选择排序。可以利用数组的特点快速定位制...

  • C语言:关于数据的几种排序算法

    数据结构的排序算法有很多种。其中,快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法;基数排序、冒泡排序、...

  • 排序算法-堆排序

    参考: Java排序算法(五):堆排序 【算法与数据结构】图说堆排序 【数据结构】排序算法:希尔、归并、快速、堆排...

  • 算法与数据结构路线图

    学习算法与数据结构,深刻理解计算机科学 排序算法:插入、冒泡、选择、希尔、快速、归并、堆排序、计数排序、桶排序、基...

  • (转)排序算法

    排序算法点这里 数据结构与算法——计数排序、桶排序、基数排序

  • 算法-选择排序

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

  • 堆排序

    转载:图解排序算法(三)之堆排序 预备知识 堆排序 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选...

  • 排序

    一、选择排序 1.堆排序 定义:堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序可参考http...

  • 算法理解之排序-选择排序

    算法理解之排序-选择排序 选择排序是一种简单直观的排序算法, 以当前点为锚点, 向后依次进行比较所有未排序元素, ...

  • 经典排序算法总结

    经典排序算法集锦 冒泡法 排序算法入门之冒泡排序 排序算法入门之冒泡排序优化

网友评论

      本文标题:数据结构之排序算法-选择排序

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