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 }
  • 相关阅读:
    Exp8-Web综合
    Exp7-网络欺诈防范
    Exp6-MSF应用基础
    加密API学习
    Exp5 信息搜集与漏洞扫描
    Exp4-恶意代码分析
    Exp3-免杀原理
    Exp2-后门原理与实践
    leetcode 22括号生成 暴力法
    413 等差数列划分
  • 原文地址:https://www.cnblogs.com/tingtin/p/9365870.html
Copyright © 2011-2022 走看看