归并排序
来源:互联网 发布:大数据与软件工程 编辑:程序博客网 时间:2024/05/29 04:58
快速排序、堆排序和归并排序理论上时间复杂度为O(nlogn ),是内存占用较少的情况下,速度最快的排序算法。
当然桶排序的时间复杂度为O(n),但是需要牺牲巨大内存。
#include<iostream>using namespace std;void Merge(int a[],int f,int mid,int l,int b[]){ int s1=f,s2=mid+1; int k=f; while(s1<=mid&&s2<=l) { if(a[s1]<=a[s2]) { b[k]=a[s1]; k++; s1++; } else { b[k]=a[s2]; k++; s2++; } } while(s2<=l) { b[k]=a[s2]; k++; s2++; } while(s1<=mid) { b[k]=a[s1]; k++; s1++; } for(int i=f; i<=l; i++) a[i]=b[i];}void Gui_sort(int a[],int f,int n,int b[]){ if(f<n) { int mid=(f+n)/2; Gui_sort(a,f,mid,b); Gui_sort(a,mid+1,n,b); Merge(a,f,mid,n,b); }}int main(){ int a[5]= {3,1,5,4,2}; int b[5]; int n=4; Gui_sort(a,0,4,b); for(int i=0; i<5; i++) cout<<b[i]<<endl; return 0;}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 网络层
- hud 1030 Delta-wave(数论)
- ananconda 安装 opencv3
- 网络电视精灵
- C++ delete错误
- 归并排序
- 搬家结束~~~
- sqlalchemy一对多的关系表案例
- [OpenGL]矩阵乘法引发的血案
- Codeforces Beta Round #17 C. Balance DP
- Matplotlib进阶:Seaborn教程
- JSON之stringify()、parse()
- Java提高篇(二六)------hashCode
- [nginx] upstream结束和keepalive实现