算法
蟑螂跑得快
这个作者很懒,什么都没留下…
展开
-
希尔排序
template<class Object> void shellSort(vector<Object> &a){ for(int k=a.size()/2; k>0; k/=2){ for(int i=k; i<size(); ++i){ Object tmp=std::move(a[i]); for(int j=i; j>k ...原创 2019-05-02 09:39:12 · 260 阅读 · 0 评论 -
堆排序
template<class Object> void heapSort(vector<Object> &a){ for(int i=a.size()/2-1; i>=0; --i){ perDown(a, i, a.size()); } for(int j=a.size()-1; j>0; --j){ std::swap(a[0],a[j...原创 2019-05-02 17:23:33 · 87 阅读 · 0 评论 -
归并排序
template<class Object> void mergeSort(vector<Object> &a, vector<Object> &tmp; int left; int right){ if(left<right){ int center=(left+right)/2; mergeSort(a, tmp, left,...原创 2019-05-02 19:08:40 · 84 阅读 · 0 评论 -
快速排序
template<class Object> void quickSort(vector<Object> &a, int left, int right){ if(left+10<=right){ Object pivot; int i=left; int j=right-1; for(; ; ){ while(a[++i]<pi...原创 2019-05-02 20:20:20 · 90 阅读 · 0 评论 -
冒泡排序
template void BubbleSort(vector &a){ for(int i=0;i < a.size()-1;++i){ for(int j=0;j < a.size()-1-i;++j){ if(a[j] > a[j+1]){ std::swap(a[j],a[j+1]); } } } }原创 2019-05-01 10:45:22 · 110 阅读 · 0 评论 -
选择排序
template<class Object> void SelectSort(vector<Object> &a){ for(int i=0; i < a.size()-1; ++i){ int min=i; for(int j=i+1; j < a.size()-1; ++j){ if(a[j] < a[j+1]){ mi...原创 2019-05-01 10:55:09 · 75 阅读 · 0 评论 -
插入排序
template void insertSort(vecter &a){ for(int i=1; i<a.size(); ++i){ Object tmp=std::move(a[i]); for(int j=i; j>0 && tmp<a[j-1]; --j){ a[j]=std::move(a[j-1]); } a[j]=std::move(tmp)...原创 2019-05-01 11:08:28 · 90 阅读 · 0 评论