zoukankan      html  css  js  c++  java
  • 归并排序

    #include<bits/stdc++.h>
    #define rep(i,a,b) for(int i=a;i<=b;i++)
    using namespace std;
    const int N=1e5+10;
    int q[N],n,tmp[N];
    void mergeSort(int q[],int l,int r){
        if(l>=r) return;
        int mid=l+r>>1;
        mergeSort(q,l,mid),mergeSort(q,mid+1,r);
        int k=0,i=l,j=mid+1;
        while(i<=mid&&j<=r){
            if(q[i]<=q[j]) tmp[k++]=q[i++];
            else tmp[k++]=q[j++];
        }
        while(i<=mid) tmp[k++]=q[i++];
        while(j<=r) tmp[k++]=q[j++];
        for(int i=l,j=0;i<=r;i++,j++) q[i]=tmp[j];
    }
    int main(){
        cin>>n;
        rep(i,0,n-1) cin>>q[i];
        mergeSort(q,0,n-1);
        rep(i,0,n-1) cout<<q[i]<<' ';
        return 0;
    }
  • 相关阅读:
    泛型
    多播委托
    匿名方法
    委托
    正则表达式
    压缩和解压,文件读取练习
    Vue样式绑定
    Vue跑马灯
    Vue中的v-for遍历循环
    Vue框架
  • 原文地址:https://www.cnblogs.com/infocodez/p/15004128.html
Copyright © 2011-2022 走看看