《排序算法》系列 -浅显易懂的认识---选择排序

news/2024/5/19 21:14:10 标签: 算法, 排序算法, 快速排序, 数据结构

前言

通过这两天学习各种排序算法,深刻的认识到了想出这些排序算法的真的好牛逼!被深深的折服,果真我是个菜鸡!!
在这里插入图片描述
所以呢,对于前人的成果,自己只要好好学习就够了,毕竟牛顿大佬说过,站在巨人的肩膀上!!我就当那个站在巨人的肩膀上的人吧,让我膜拜巨人!
在这里插入图片描述
好了,言归正传,今天研究了后面的几种排序算法,但是呢自己觉得懂了,但是又觉得自己不懂,所以对于这种似懂非懂的状态,最好的解决办法就是用到项目中去,于是把以前的项目翻出来,把以前自己曾经用冒泡排序写的逻辑改成了其它几种排序方法来实践,当然了最后觉得还是不是太懂。
在这里插入图片描述

好了,话不多说,上代码:

import java.util.Arrays;

/**
 * @author Administrator
 *
 * 在选择排序中,设定一个已排序的空数组,将未排序的设定为一个数组
 * 然后在未排序的数组中查找最小的值放到已排序的数组中
 * 那么已排序的数组中每次放入的都是最小的值,并且是依次排列的
 * 这样就可以将未排序的数组进行的选择排序
 */
public class selectSort {


    /**
     * 选择排序方法
     * @param array
     */
    public static void selectSort(int[] array){
        //定义一个已排序的空序列
        for (int i = 0; i < array.length; i++) {
            //定义最小值
            int minIndex = i;
            //定义未排序的序列
            for (int j = i; j < array.length; j++) {
                //如果未排序序列中存在比minIndex小的值,则将该值赋值给minIndex
                if(array[minIndex]>array[j]){
                    minIndex = j;
                }
            }
            int temp = array[i];
            array[i] = array[minIndex];
            array[minIndex] = temp;
        }
    }

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

还是老样子,自己学习这个排序算法时还是在代码中写了一些理解。

有问题的地方欢迎指正,共同交流!


http://www.niftyadmin.cn/n/1366621.html

相关文章

《排序算法》系列 -浅显易懂的认识---插入排序

前言 这两天一直研究排序算法&#xff0c;今天看了计数排序&#xff0c;想想自己真是个蠢蛋&#xff0c;怎么就是搞不懂如何实现的呢&#xff0c;虽然自己在学习过程中记录了自己对于算法逻辑的理解以及思路&#xff0c;但是自己重新去整理思路的时候想不通一个地方到底是如何…

《排序算法》系列 -浅显易懂的认识---归并排序

前言 终于快要把几中排序算法看完了&#xff0c;虽然还不是太懂&#xff0c;但是自己也知道了其中的实现原理&#xff0c;或许在实现方便自己还会有问题&#xff0c;但是以后用在项目中就能熟能生巧了。 所以在以后遇到通过排序算法去实现的功能&#xff0c;自己也要学以致用…

《排序算法》系列 -浅显易懂的认识---快速排序

前言 这几天的学习排序算法&#xff0c;我想对我最大的改变就是对于思维的改变&#xff0c;改变了遇到问题就for循环&#xff0c;不行就再继续套循环。。。。。 解决问题的思维不能死&#xff0c;可以另辟思维去想&#xff0c;当把一种排序算法的逻辑理清楚&#xff0c;会惊叹…

什么?搞Java的你还不会Spring?一篇文章带你掌握

前言 今天看到了大佬的这篇博客&#xff0c;真的认识很多&#xff0c;所以自己想要搬运一下自己想要看时&#xff0c;可以随时看。觉得写的真的很全面很细致了。膜拜大佬 Spring容器 在SpringIOC容器读取Bean配置创建Bean之前&#xff0c;必须对它进行实例化。只有在容器实例…

SpringBoot集成MongoDB做日志存储

前言 今天翻出了以前的一个项目&#xff0c;发现对于日志的存储&#xff0c;是存储在数据库中的&#xff0c;将对应的入参、出参、请求方式、请求路径等信息存储在数据表中&#xff0c;想到这样的存储如果时间久了该数据表的数据量会很大&#xff0c;想到用MongoDB试试做日志的…

关于HashMap的高频面试题

前言 今天上班看到一篇博文很好&#xff0c;是自己没有了解过的&#xff0c;今天抽空也写个博文记录一下这部分知识点&#xff0c;加强自己的知识积累&#xff01; 好了言归正传&#xff1a; 1、那你跟我讲讲HashMap的内部数据结构&#xff1f; 目前我用的是JDK1.8版本的&…

SpringBoot集成Jwt实现用户登录

前言 最近正在搭建一个SpringBootVue的一套后台管理系统的模板&#xff0c;对于用户登录的功能使用了JWT来实现的&#xff0c;自己在学习SpringCloud微服务时使用的就是JWT&#xff0c;通过Cookie来传递token&#xff0c;实现用户的登录状态。 以下就是自己在SpringBoot中集成J…

Java并发编程之原子性-Atomic源码详解

1、Atomic中存在Atmomicxxx的类&#xff0c;都是通过CAS来实现原子性的。 对于平时适用count问题&#xff0c;count并不是线程安全的&#xff0c;所以在多线程情况下&#xff0c;适用count会出现得到的值并不是我们期望的值。 问题如下&#xff1a; 所以为了解决此类问题我们需…