数据结构与算法
GHkmmm
cv工程师
展开
-
js实现快速排序算法
思路假设有这么一个数组let ary = [12, 8, 15, 16, 1, 24]第一步找到中间项15 --> 把它从原来数组中移除 --> 获取这一项的结果第二步让拿出来的每一项和中间项继续比较并创建两个数组(左边数组和右边数组)比中间项小的放到左边比他大的放到右边左边数组:12,8,1右边数组16,24重复上面的操作 再分别将左右两个数组再取中间项,再分成左右两个数组,比中间项小的放到左边,比他大的放到右边…代码实现/* * 实现插入排原创 2020-08-26 16:59:24 · 299 阅读 · 0 评论 -
js实现插入排序算法
思路假定有这么一个数组let ary = [12, 8, 24, 16, 1]插入排序的做法类似于我们平时打的扑克第一轮:先从数组中抽一张“牌”==> 12第二轮:再抓一张牌与之前抓到的牌依次比较如果当前新牌A比手里的某张牌B大,则把A放到B的后面,如果小则继续向前面的牌比前提:如果已经比较到第一张了,则把当前牌A插入到最前面即可==> 8, 12第三轮:==> 8, 12, 24第四轮:==> 8, 12, 16, 24…代码实现/* *原创 2020-08-25 22:47:52 · 412 阅读 · 0 评论 -
js实现冒泡排序算法
什么是冒泡排序让数组中的当前项和后一项进行比较,如果当前项比后一项大,则两项交换位置(让大的靠后)即可分析假设有这么一个数组let ary = [12, 8, 24, 16, 1]如果采用冒泡排序,那么应该是这么执行的第一轮:12>8 => 交换位置 [8, 12, 24, 16, 1]12<24 => 不交换位置 [8, 12, 24, 16, 1]24>16 => 交换位置 [8, 12, 16, 24, 1]24>1 =&原创 2020-08-24 23:16:06 · 304 阅读 · 0 评论