
排序
排序板子
dreamcyf
这个作者很懒,什么都没留下…
展开
-
基数排序(C++模板)&&计数排序(C++模板)
在学习后缀数组时发现一个非常有趣的排序 具体咋有趣不知,个人认为有意思 具体实现方法看大佬博客 https://blog.youkuaiyun.com/weixin_39408343/article/details/107115403 **我这里就专心码我的板子 ** #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int maxn=1e5; int dat[max原创 2020-07-15 14:36:06 · 285 阅读 · 0 评论 -
快速排序
时间复杂度:O(n log2 n)~O(n^2) void ks(int *str,int l,int r) { int key=str[l]; int i=l,j=r; if(i<j){ while(i<j) { while(i<j && str[j]>=key) j--; if(i<j) str[i]=str[j]; whi原创 2020-07-05 20:04:58 · 111 阅读 · 0 评论 -
冒泡排序
整理下几大排序 时间复杂度:O(n2) void mp(int*str,int n) { int flag=0; for(int i=0;i<n-1;i++) { flag=0; for(int j=0;j<n-i-1;j++) { if(str[j]>str[j+1]) { int t=str[j]; st原创 2020-07-05 19:44:26 · 83 阅读 · 0 评论 -
归并排序(板子)
利用分治思想,将数组不断的分为两份,再合并 时间复杂度O(nlogn) 拆分:logn 合并:O(n) const int maxn=1e5+5; int a[maxn]; void hb(int*a,int l,int mid,int r)//合并[l,mid-1]and[mid,r] { int b[maxn];//储存临时结果 memset(b,0,sizeof(b)); int i=l,j=mid,k=0; while(i<mid && j<原创 2020-07-05 16:32:58 · 208 阅读 · 0 评论