选择排序底层原理详解 |
您所在的位置:网站首页 › volatile的底层原理 › 选择排序底层原理详解 |
一、排序和算法 排序是算法中的一部分,也叫排序算法。算法一般用来处理数据,而数据的处理最好是要找到他们的规律,这个规律中有很大一部分就是要进行排序,所以需要有排序算法。本节讲解的是选择排序,从选择排序开始认识排序的一些基础概念。之所以将选择排序作为排序的入门,原因是选择排序算法的逻辑最好理解。 二、选择排序2.1 选择排序算法逻辑选择排序是一种最简单的排序算法。其排序的逻辑如下: 1、有一个待排序的数组A(以下简称A)。 2、从A中找出最小的元素。 3、将找到的最小元素跟数组A中第一个元素交换位置(如果最小元素就是第一个元素,则自己跟自己交换位置);如下图:
(如上图,长方形高低代表数字的大小,找到最小的数字,跟第一个位置的数据进行交换) 交换之后,结果如下图所示:
4、然后,在剩下的4个数字中再找到最小的那个数字,跟第2个位置的数字交换。如下图:
交换之后的结果如下如:
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 |