排序算法
文章平均质量分 87
你好呀我是裤裤
你好呀,我是裤裤
展开
-
一篇文章讲透排序算法之归并排序
大师,我悟了!原来归并排序这么简单!速进!一篇文章醍醐灌顶!原创 2024-06-04 18:29:23 · 1163 阅读 · 34 评论 -
一篇文章讲透排序算法之快速排序
哇去?六千五百字讲明白了快速排序?速进!一篇文章醍醐灌顶!原创 2024-05-29 22:24:21 · 2982 阅读 · 26 评论 -
一篇文章讲透排序算法之堆排序
在学习这篇文章之前,请大家先学习堆这一数据结构中堆的概念,向下调整算法,向下调整建堆。堆的实现堆排序就是利用堆里面学习过的知识点进行排序,如何进行排序呢?原创 2024-05-27 09:26:01 · 492 阅读 · 4 评论 -
一篇文章讲透排序算法之希尔排序
希尔排序是对插入排序的优化,它的思路是先选定一个整数作为增量,这里我们以gap(间隔)表示,将间隔为gap的数据分为一组,这样就可以分出gap组以gap为公差的等差数列的数据组。现在我们的数组已经非常接近有序,我们最后再以1为间隔,得到一组以1为间隔的等差数列,再完成最后一次排序,也就是直接插入排序,即可使得我们的数组有序。在这里也可以给大家大概画一下图,由于每次排序都会对后续的排序产生影响,因此我们后续的排序移动的数据会越来越少,因此效率还是比较高的。这么一直比较下去,就可以完成我们第一次预排序的效果。原创 2024-05-25 20:52:14 · 896 阅读 · 3 评论 -
一篇讲透排序算法之插入排序and选择排序
先将数组的第一个元素当作有序,让其后一个元素与其比较,如果比第一个元素小则互换位置,之后再将前两个元素当作有序的,让第三个元素与前两个元素倒着依次进行比较,如果第三个元素比第二个元素小的话,则交换位置,之后再比较第二个元素和第一个元素。此时我们的begin下标处的值已经更新成了mini处的值,而由于我们的maxi和begin是相同的,因此此时我们maxi下标处的值其实是mini处的值。如果begin和maxi重合,根据我们的代码逻辑,我们首先会交换mini和begin位置处的值。这时我们的数组就有序了。原创 2024-05-23 21:23:36 · 1014 阅读 · 4 评论 -
冒泡排序及冒泡排序版本qsort实现
如此循环往复,当我们第九次遍历的时候,是不是就可以让倒数第二个是最大的了呢,那么,我们整个的数组就有序了!现在我们实现了一个冒泡排序,但是如果我给的数字是1 2 3 4 5 6 7 8 9 10的话,用上面的代码再进行排序,还是要进行一轮又一轮的比较才可以,即便它并不需要交换。现在,我们继续分析,经过这轮比较,每次比较中较大的数都会向右移动一位,这轮比较结束后,最右边的数字一定是目前数字中最大的数字,但是中间9个数字的大小却无法确定,如果你不能理解的话,可重读一遍上面的红字。现在我们就完成了一次冒泡排序。原创 2024-04-05 15:56:48 · 761 阅读 · 1 评论