![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 63
各种排序算法详解
心情好能治头痛
这个作者很懒,什么都没留下…
展开
-
归并排序!
(1) a 和 b 分别表示左边部分和右边部分,将 a 和 b 分别传入 sortList 函数中进行排序(递归调用);(3) 通过比较 a 和 b 的值,逐个选择较小的节点接入到新链表中,直至其中一个链表为空。(2) 创建一个新的头节点 head,以及一个临时节点 tmp 用于构建合并后的链表;给你链表的头结点 head,请将其按 升序 排列并返回排序后的链表。(2) 当链表只有一个元素的时候也不需要排序,返回本身即可;(1) 当链表没有元素的时候不需要排序,直接返回null;原创 2024-06-10 17:43:01 · 485 阅读 · 0 评论 -
快速排序!
i 和 j : 用于遍历和分区数组的索引pivot: 存储选取的基准元素的值a[]: 待排序的数组l: 数组的左边界索引(起始位置)r: 数组的右边界索引(结束位置)原创 2024-06-12 20:26:11 · 422 阅读 · 0 评论 -
桶排序!!
这个函数调用 bucketSort 对输入数组进行预处理,然后从桶中提取出出现频率最高的 k 个元素。这个函数将输入数组根据元素出现的频率进行排序,并将结果存入桶(bucket)中。原创 2024-06-15 17:40:03 · 218 阅读 · 0 评论 -
堆排序!!
用于将以 curr 为根节点的子树堆化为最大堆。在堆化过程中,会比较当前节点与其子节点的值,并将较大的值交换到当前节点位置。该函数会在堆排序的过程中多次调用。的堆数据结构,其中每个节点的值都大于或等于其子节点的值(最大堆),或者小于或等于其子节点的值(最小堆)。如果可以的话希望大家可以自己手画一遍模拟一下这个过程哦~给你一个整数数组 nums,请你将该数组升序排列。:将输入数组 a 当作堆来进行排序。原创 2024-06-17 11:02:49 · 360 阅读 · 0 评论 -
基数排序!
/ 1// 2// 3// 4// 5// 6MAXN:表示数组a能容纳的最大整数数量MAXT:表示基数排序支持的最大数字位数,这里假设最大为8位数字BASE:表示基数排序的基数,这里使用十进制:用于存储BASE的不如次方:基数桶,用于在排序过程中临时存放不同基数位的数字:记录每个基数桶中当前存放的数字数量。原创 2024-06-22 16:00:53 · 265 阅读 · 0 评论 -
简单排序(包括选择排序、冒泡排序、插入排序)
插入排序(Insertion Sort)是一种简单直观的排序算法,其基本思想是将一个序列分为已排序和未排序两部分,初始时已排序部分只有一个元素(即序列的第一个元素),然后逐步将未排序部分的元素插入到已排序部分的正确位置,直到整个序列有序为止。在这段代码中,我们展示了如何实现和使用冒泡排序来对一个整数数组进行排序。冒泡排序的实现通过每次遍历找到当前未排序部分的最大元素,并将其交换到正确的位置,直到整个数组排序完成。选择排序的实现通过找到未排序部分的最小元素,并与当前位置的元素进行交换,直到整个数组排序完成。原创 2024-07-15 15:30:42 · 823 阅读 · 0 评论