排序算法-简单选择排序

2021-08-30  本文已影响0人  来个Android小哥

前言:排序是现在程序员的必备技能,是很多公司的面试必考点,不管是做移动端,后端开发,排序是绕不过的,众生平等。学习其排序的思想往往能解决不同类型的问题,所以静下心来,研究一下不同的排序算法,算是对自己有一个提升。

排序概述:排序就是将一组对象按照某种逻辑顺序重新排列的过程。

十大排序算法:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序,希尔排序,计数排序,基数排序,桶排序。

本文对简单选择排序走一个解析:

简单选择排序步骤:

1.首先,找到数组中最大或者最小的那个元素

2.其次,将它和数组的第一个元素交换位置(如果第一个元素就是最大或者最小的元素那么它就和自己交换)

3.再次,在剩下的元素中找到最大或者最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序

4.这种方法叫做选择排序,因为它在不断地选择剩余元素之中的最大或者最小者

代码举例:

对一个数组进行排序:(86,11,77,23,32,45,58,63,93,4,37,22)

int[] array = {86,11,77,23,32,45,58,63,93,4,37,22};

排序代码展示: 

选择排序

调用sort方法后打印如下:


选择排序打印

对该案例进行分析:

 (1).i==0   时,进行第一次内部循环  获取到的最小值是 4     在array第0个位置上赋值为4  4位置上变为86

 (2).i ==1   时,进行第二次内部循环  获取到的最小值是 11  在array第1个位置上赋值为11 

 (2).i ==2   时,进行第三次内部循环  获取到的最小值是 22  在array第2个位置上赋值为22 22的位置变为77

 ......直至外层循环完成,排序即告完成。

 打印每个步骤的数组:

步骤展示

至此选择排序就到这里讲解结束了,细看的话其实一点也不复杂。

上一篇 下一篇

猜你喜欢

热点阅读