![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
实现排序算法
easy_coder
这个作者很懒,什么都没留下…
展开
-
快速排序
快速排序快速排序的思想单路快速排序双路快速排序三路快速排序四、复杂度分析五、三种快速排序算法的比较 快速排序的思想 快速排序的思想:通过一趟可以将一组元素划分两个部分,一个部分大于基准数,另外一个部分小于基准数。然后再对这两个部分进行排序,典型的分治思想。 单路快速排序 int partition(int* arr, int l, int r) { int i = 0, j = 0; // 找基准数,随机一个 int t = rand() % (r - l + 1) + l;原创 2020-09-05 14:47:20 · 70 阅读 · 0 评论 -
冒泡排序
冒泡排序什么冒泡排序代码实现复杂度分析 什么冒泡排序 冒泡排序的基本思想:比较相邻的两个元素,如果顺序有误就把位置调换。 冒泡排序的核心:双重嵌套循环。 比如:9 0 8 1 7 2 6 3 (按照从小到大的顺序排列) 第一次循环:9先与0进行比较,9 > 0,调换位置,9再与8进行比较,9 > 8,调换位置,以此类推,0 8 1 7 2 6 3 9 第二次循环:0与8进行比较,0 < 8,不调换位置,8再与1进行比较,8 > 0,8与1调换位置,以此类推,0 1 7 2 6 3 8原创 2020-09-05 10:06:43 · 112 阅读 · 0 评论 -
桶排序
桶排序一、什么是桶排序二、桶排序的实现三、复杂度分析四、应用 一、什么是桶排序 桶排序(Bucket Sort):如果待排序的数字是有范围整数,可以用数组下标与数值一一对应的方法存入数组中,然后按照数组下标输出数据,得到结果就是有序序列。 二、桶排序的实现 int main() { int i = 0; const int n = 10; int arr[n] = {9, 0, 8, 1, 7, 2, 6, 3, 5, 8}; int a[n + 1] = {0};原创 2020-09-05 09:13:58 · 113 阅读 · 0 评论