选择排序底层原理详解

您所在的位置:网站首页 volatile的底层原理 选择排序底层原理详解

选择排序底层原理详解

2023-04-06 09:44| 来源: 网络整理| 查看: 265

一、排序和算法

排序是算法中的一部分,也叫排序算法。算法一般用来处理数据,而数据的处理最好是要找到他们的规律,这个规律中有很大一部分就是要进行排序,所以需要有排序算法。本节讲解的是选择排序,从选择排序开始认识排序的一些基础概念。之所以将选择排序作为排序的入门,原因是选择排序算法的逻辑最好理解。

二、选择排序2.1 选择排序算法逻辑

选择排序是一种最简单的排序算法。其排序的逻辑如下:

1、有一个待排序的数组A(以下简称A)。

2、从A中找出最小的元素。

3、将找到的最小元素跟数组A中第一个元素交换位置(如果最小元素就是第一个元素,则自己跟自己交换位置);如下图:

选择排序底层原理详解_数组

 

(如上图,长方形高低代表数字的大小,找到最小的数字,跟第一个位置的数据进行交换)

交换之后,结果如下图所示:

选择排序底层原理详解_选择排序_02

 

4、然后,在剩下的4个数字中再找到最小的那个数字,跟第2个位置的数字交换。如下图:

选择排序底层原理详解_数组_03

 

交换之后的结果如下如:

选择排序底层原理详解_选择排序_04

 

5、再在剩下的三个数字中,找到最小的那个数字跟第3个位置的数字交换位置。上图中剩下的三个数字中最小的就是第3个位置的数字,所以,它自己跟自己交换位置,就是不变。同理第四个数字也是不变,第5个数字也是不变。(上图中例子第3、4、5个元素正好就是对应的排序,所以不变。如果不是对应的最小数字,同理交换位置就行。)

以上就是选择排序的算法逻辑,非常好理解。(如果有疑问的同学,欢迎下方留言)。

2.2 选择排序算法代码实现

理解了选择排序的逻辑之后,接下来通过java代码实现选择排序算法。步骤如下:

1、找出最小的数字

2、将最小的数字放到第一个位置

3、将第一个位置的数字,放到原本是最小数字的位置。

4、重复上面3个步骤

选择排序java代码如下:

/** * 选择排序 */ public static void algorithm4(){ 

//定义一个整数类型数组,用于排序的原始数据 

int[] array={3,5,1,2,4}; 

//获取数组的大小

int length = array.length;

//第一个循环用来遍历数组中的所有数字

for (int i = 0; i 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3