zoukankan      html  css  js  c++  java
  • 归并排序模板复习

    今天开始复习模板

    归并排序:是建立在归并操作上的一种有效的排序算法,采用的是分治法。核心思想是将两个或两个以上的有序子序列“归并”成一个有序序列。时间复杂度是稳定的O(nlogn)

    模板代码

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int a[10001],b[10001];
     6 int n;
     7 void merge(int a[],int b[],int s,int m,int t){
     8     int i=s,j=m+1,k=s;
     9     while(i<=m && j<=t){
    10         b[k++]=a[i]<a[j]?a[i++]:a[j++];
    11     }
    12     while(i<=m)  b[k++]=a[i++];
    13     while(j<=t)  b[k++]=a[j++];
    14     for(int l=s;l<=t;l++)  a[l]=b[l];
    15 }
    16 void devide(int a[],int b[],int s,int t){
    17     if(s==t)  return ;
    18     else{
    19         int m=(s+t)>>1;
    20         devide(a,b,s,m);
    21         devide(a,b,m+1,t);
    22         merge(a,b,s,m,t);
    23     }
    24 }
    25 int main(){
    26     scanf("%d",&n);
    27     int i;
    28     for(i=1;i<=n;i++){
    29         scanf("%d",a+i);
    30     }
    31     devide(a,b,1,n);
    32     for(i=1;i<=n;i++){
    33         printf("%d ",a[i]);
    34     }
    35     printf("\n");
    36     return 0;
    37 }
  • 相关阅读:
    HDU 1941 Justice League
    HDU 1960 Taxi Cab Scheme
    POJ 1986 Distance Queries
    UVA 11991 Easy Problem from Rujia Liu?
    sql的跟踪与Tkprof工具
    ORA04031 错误
    Oracle_spatial的空间索引
    oracle发生重启动的介绍
    expdp\impdp及exp\imp
    oracle锁
  • 原文地址:https://www.cnblogs.com/lazytear/p/6867358.html
Copyright © 2011-2022 走看看