![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
手撕排序
文章平均质量分 51
Villanelle906
人的终极目标是
展开
-
手撕排序2--选择排序(直接选择+堆排序
把最大的换到最后,不把其看做是堆里的。前n-1个数向下调整,选出次大的数,再跟倒数第二个位置交换........每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。堆排序是利用堆 这种数据结构而设计的一种排序算法,它是选择排序的一种。将该节点与左右子树的节点进行比较,重新构建成一个大堆或者小堆。每个结点的值都小于或等于其左右孩子结点的值,称为。每个结点的值都大于或等于其左右孩子结点的值。物理结构是:一个数组。1. 对待排序的数组,先构建成 堆。原创 2024-06-21 23:28:17 · 529 阅读 · 0 评论 -
手撕排序1---插入排序(C 直接插入+希尔排序
gap不断减小,当gap为1时相当于直接插入排序,进行最后一次直接插入排序后数列便已有序。,gap越大,大的数可以越快到后面,小的数可以越快到前面。gap越小,越接近有序。先选定一个整数gap,把待排序数列中所有记录分成个gap个组,然后缩小gap,可以取它的一半,重复上述分组和排序的工作。预排序可以 让大的数更快地到序列后面,小的更快到前面。,直到所有的记录插入完为止,得到一个新的有序序列。的排序码与arr[i-1],arr[i-2],…当gap到达1时,该数列便已有序。,并对每一组内的记录进行排序。原创 2024-06-18 18:31:57 · 429 阅读 · 0 评论