![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 51
Nelson.Lee
努力不一定会成功,但是付出一定会有回报
展开
-
十大排序之快速排序
快速排序本文将介绍三种快速排序的方法经典快速排序随机快速排序二分快速排序经典快速排序算法思想快速排序基于分治的思想,采用递归的方式处理子问题选取一个哨兵k,这里假设哨兵选取数组第一个元素即令k = arr[0] = 4然后设立两个指针 i 和 j 分别初始化指向 第一个元素 和 最后一个元素第一遍排序从右往左,依次和哨兵比较,如果大于等于哨兵的值,则 j-- ,否则退出循环,然后交换 arr[i] 和 arr[j]接着从左往右,依次和哨兵比较,如果小于等于哨兵的值,则 i++原创 2022-03-27 14:00:52 · 719 阅读 · 0 评论 -
十大算法之希尔排序
希尔排序 摘自帅地玩编程 如果不是很理解的话,可以点击上方链接,去看原文希尔排序是对插入排序的优化算法,将原数组进行分组,然后再组间进行插入排序定义 gap 为分组间的增量,初始为 arr.length 的一半,然后每次减半,这样效率较高每次调用插入排序将每一组排好序,这样可以使组内是有序的增量减半为2,继续排序增量减半为1,数组已变成有序以上便是希尔排序的思路代码/** *@author:WQL *@date:2022/3/22 *@description:希尔排序原创 2022-03-27 12:03:39 · 765 阅读 · 0 评论