![](https://img-blog.csdnimg.cn/20210119130614227.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
排序
排序
不太聪明的样子
这个作者很懒,什么都没留下…
展开
-
快速排序模板(C语言)
代码模板: void swap(int* a, int* b){ int tmp = *a; *a = *b; *b = tmp; } //以中间点为pivot void quick_sort_mid(int* arr, int l, int r){ if(l >= r) return; int i = l - 1, j = r + 1, x = arr[l + r >> 1]; while(i < j){ while原创 2020-12-25 12:22:57 · 279 阅读 · 0 评论 -
归并排序(C语言)
归并排序 归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法的一个非常典型的应用。归并排序的最优时间复杂度、平均时间复杂度和最坏时间复杂度均为O(nlogn),空间复杂度为O(n)。归并排序分为三个步骤: 1.将数列划分为两部分 2.递归地分别对两个子序列进行归并排序 3.合并两个子序列 将已有的子序列合并,得到完全有序的序列,即先使每个子序列有序,再使子序列段间有。其本质是由小规模有序到大规模有序的自底向上的过程。核心算法是两个有序序列的排序,即使用双指针对两个数组进行扫描,以线原创 2020-12-18 19:05:58 · 386 阅读 · 0 评论 -
基数排序(C语言)
基数排序 基数排序(Radix sort)是一种非比较型的排序算法,最早用于解决卡片排序的问题。 它的工作原理是将待排序的元素拆分为k个关键字,其中k为最大值的位数,从低位开始进行稳定排序。(注意:数列中的元素都是非负整数) 基数排序是一种稳定的排序算法。 代码实现: #include <stdio.h> #include <string.h> #include <stdlib.h> typedef unsigned long long ULL; //数据预处理,保证原创 2020-12-12 20:11:47 · 1813 阅读 · 0 评论