—归并排序最简代码
很烦网上一些花里胡哨的,一个归并上百行,还要用好几个函数,不如我自己来简单明了
// An highlighted block
var foo = 'bar';
#include<iostream>
using namespace std;
int a[]={5,6,7,3,4};
int b[5];
void h(int s,int e){
if(s>=e)return;
int mid=(s+e)/2;
h(s,mid);
h(mid+1,e);
int p=s,q=mid+1,i=s;
while(p<=mid||q<=e){
if(a[p]<a[q]||q>e){
b[i++]=a[p++];
}else{
b[i++]=a[q++];
}
}
for(i=s;i<e;i++){
a[i]=b[i];
}
}
int main(){
h(0,4);
for(int i=0;i<5;i++)cout<<a[i]<<endl;
}