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

    1 https://blog.csdn.net/yuehailin/article/details/68961304 

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <algorithm>
     4 #include <cstring>
     5 #include <vector>
     6 #include <utility>
     7 #include <queue>
     8 #include <set>
     9 using namespace std;
    10 typedef long long ll;
    11 const int N=1e5+6;
    12 int a[N],b[N];
    13 a[fi]--a[mid]有序,a[mid+1]--a[la]有序
    14 void sortarry(int a[],int fi,int mid,int la,int b[]){把两个有序的序列归并成一个序列
    15     int i=fi,j=mid+1;
    16     int m=mid,n=la;
    17     int k=0;
    18     while(i<=m&&j<=n){
    19         if(a[i]<=a[j]){
    20             b[k++]=a[i++];
    21         }
    22         else{
    23             b[k++]=a[j++];
    24         }
    25     }
    26     while(i<=m)  b[k++]=a[i++];
    27     while(j<=n) b[k++]=a[j++];
    28     for(int i=0;i<k;i++) a[fi++]=b[i];
    29 }
    30 void guibing(int a[],int l,int r,int b[]){
    31     if(l<r){
    32         int mid=(r+l)>>1;
    33         guibing(a,l,mid,b);//左边有序
    34         guibing(a,mid+1,r,b);//右边有序
    35         sortarry(a,l,mid,r,b);//归并为一个序列
    36     }
    37 }
    38 int main()
    39 {
    40     for(int i=1;i<=7;i++){
    41         scanf("%d",&a[i]);
    42     }
    43     guibing(a,1,7,b);
    44     for(int i=1;i<=7;i++){
    45         printf("%d
    ",a[i]);
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    Spring源码剖析4:懒加载的单例Bean获取过程分析
    css3动画 9步
    删除文件
    监听变量的方法
    jPaginate应用
    bg-render+bg-class+filter
    css兼容处理
    系统前端关键点
    token 入门教程
    svg笔记----------path篇
  • 原文地址:https://www.cnblogs.com/tingtin/p/9365870.html
Copyright © 2011-2022 走看看