JavaScript中数组的冒泡排序和选择排序

一、冒泡排序

  1. 先遍历数组,让挨着的两个进行比较,如果前一个比后一个大,那么就把两个换个位置。
  2. 数组遍历一遍以后,那么最后一个数字就是最大的那个了。
  3. 然后进行第二遍的遍历,还是按照之前的规则,第二大的数字就会跑到倒数第二的位置。
  4. 以此类推,最后就会按照顺序把数组排好了。

一、先准备一个数组。
在这里插入图片描述
二、遍历数组,把最大的一个放到最后面。
在这里插入图片描述
三、按照数组的长度来执行多少次。
在这里插入图片描述
至此,数组就已经排序好了。

四、做一些优化。
程序的优化:
1、外层循环优化 :
如果有n个单元参加排序,只需要循环排序n-1次。
最后一次循环排序,会将最后两个数值的大小排序确定。
剩下最后一个单元,没有循环排序,但是大小已经确定,不需要再次循环排序。

在这里插入图片描述
2、内层循环优化 :
上一次参与循环,已经决定出来的最大数值,不用参与下一次循环。
第一次排序,少0个单元参与。
第二次排序,少1个单元参与。
第三次排序,少2个单元参与。

通过外层循环变量,定义是从 0 开始的循环数值。
每次内层循环,次数,再减去 外层循环变量 的数值。

在这里插入图片描述

这样,一个乱序数组的冒泡排序就优化完成了。

二、选择排序

1、先假设数组中的第 0 个就是最小的数字的索引。

2、然后遍历数组,只要有一个数字比定义的索引位置的数值小,那么就替换之前记录的索引。

3、直到数组遍历结束后,就能找到最小的那个索引,然后让最小的索引换到第 0 个的位置。

4、再来第二次遍历,假定第 1 个是最小的数字的索引。

5、在遍历一次数组,找到比 定义的索引位置的数值 小的那个数字的索引。

6、遍历结束后换个位置,依次类推,也可以把数组排序好。

一、准备一个数组,假设数组中的第 0 个就是最小的数字的索引。
在这里插入图片描述
二、遍历数组,然后判断,只要有一个数字比定义的索引位置的数值小,那么就替换之前记录的索引。
在这里插入图片描述
三、按照数组的长度重复执行上面的代码。
在这里插入图片描述
四、做一些优化。
倒数第二次排序完毕以后,剩下的最后一个就是最大的,最后一次循环就没有必要了。
在这里插入图片描述

以上就是数组的冒泡排序和选择排序。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值