零基础学java需要掌握的三种排序方法:冒泡排序、选择排序、插入排序

本文通过实例介绍了三种基本排序算法:冒泡排序、选择排序和插入排序。冒泡排序通过相邻元素的比较和交换,逐步将最小值移至数组末尾。选择排序则在每一轮中找到最大值并将其与当前位置交换。插入排序则是通过将每个元素与已排序部分的元素依次比较,找到合适的位置插入。这些排序算法在理解基础编程概念和优化算法效率时至关重要。
摘要由CSDN通过智能技术生成

接下来我将以数组为例大致介绍这三种排序方法:

创建一个长度为10的数组。可以使用for循环遍历和(int)Math.random()*100生成一个100以内的随机整数数组。

 

这里为了演示方便,直接创建int[] numArray={13, 8, 34, 27, 18, 40, 67, 87, 36, 10};

注意:外层循环控制循环轮数,内层循环控制每轮循环次数(降序排列)

冒泡排序法:就是将上述数列中的数进行两两比较(10个数最多只需要9轮循环),如果第1个数小于第2个数,那么这两个数交换位置,然后再将第2个数与第3个数进行相同比较,直到比较到最后一个数,第一轮循环结束,最小值位于数列末尾;第二轮循环比较数时,就不需要在比较第一轮产生的最小值了(比较次数比上一轮少一次),重复第一轮的比较。每轮循环结束都会将剩余数字的最小值置于剩余数的末尾。

代码及结果如下:

选择排序法: 就是每一轮循环开始,假设第一个数是最大值,并用变量储存这个值和下标,然后将后面的数一次与这个值比较,如果比这个最大值大,那么将这个数的值和下标赋给最大值,然后再往后进行比较。每一轮循环结束产生一个最大值,然后将这个值得下标给第一个数进行互换。第二轮循环时,需要从第二个数开始。需要注意与冒泡排序法的区别。

代码及结果如下:

插入排序法: 从第二个数开始,每个数都与前面的数进行比较,如果小于前面的数,那么位子不变如果大于前面的数,那么后面的数就与前面的数互换位置,互换后的数在和前面的数进行比较,直到位置不变位置。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值