排序
自爄創煇熿
这个作者很懒,什么都没留下…
展开
-
归并排序
首先我们来讨论归并算法,归并算法将一系列数据放到一个向量中,索引范围为[first,last],这个序列由两个排好序的子表构成,以索引终点(mid)为分界线,以下面一个序列为例 7,10,19,25,12,17,21,30,48 这样的一个序列中,分为两个子序列 7,10,19,25 和 12,17,21,30,48,如下图所示: 再使用归并算法的原创 2012-08-13 18:08:36 · 422 阅读 · 0 评论 -
堆排序,(大顶堆)
#include#include#includeusing namespace std;const int N=1e5;int a[N];void Heapadjust(int i,int size){ if(i>size/2) return ; int l=2*i; int r=2*i+1; int Max=i; if(la[Max]) Max=l; if(ra[Max原创 2013-06-12 17:28:49 · 729 阅读 · 0 评论 -
快排
#include#includeconst int N=1e5;int a[N];void qsort(int l,int r){ if(l>=r) return ; int i=l,j=r,k=a[l]; while(i<j) { while(i<j&&k<a[j]) j--; if(i<j) { a[i]=a[j];i++;} while(ia[i]) i++;原创 2013-06-12 17:29:27 · 526 阅读 · 0 评论