zoukankan      html  css  js  c++  java
  • 55.插入排序与归并排序

    插入排序

    代码:

    #include

    using namespace std;

    int main()

    {

           int a[101];

           int n;

           cin>>n;

           for(int i=1;i<=n;++i)

           cin>>a[i];

           for(int i=2;i<=n;++i)

           {

                  int x=a[i];

                  int j=i-1;

                  while(x=1)

                  {

                         a[j+1]=a[j];

                         j--;

                  }

                  a[j+1]=x;

           }

           for(int i=1;i<=n;++i)

           cout<<a[i]<<" ";

           return 0;

    }

    归并排序

    代码:

    #include

    using namespace std;

    #include

    void gb(int,int);

    int a[101],r[101];

    int main()

    {

           int n;

           cin>>n;

           for(int i=1;i<=n;++i)

           cin>>a[i];

           gb(1,n);

           for(int i=1;i<=n;++i)

           cout<<a[i]<<" ";

           return 0;

    }

    void gb(int s,int t)

    {

           if(s==t) return;

           int m=(s+t)/2;

           gb(s,m);gb(m+1,t);

           int i=s,k=s,j=m+1;

           while(i<=m&&j<=t)

           {

                  if(a[i]

                  {

                         r[k]=a[i];

                         i++;

                         k++;

                  }

                  else {

                         r[k]=a[j];

                         j++;

                         k++;

                  }

          

           }

                  while(i<=m)

                  {

                         r[k]=a[i];

                         i++;k++;

                  }

                  while(j<=t)

                  {

                         r[k]=a[j];

                         j++;k++;

                  }

                  for(int i=s;i<=t;++i)

                  a[i]=r[i];

    }

  • 相关阅读:
    常见WINDOWS运行命令
    CSDN Blog 之七宗罪
    常见进程大全
    开始→运行→输入的命令集锦(网上搜来的)
    20200527:SpringCloud用了那些组件?分布式追踪链怎么做的?熔断器工作原理?
    20200520:分库分表后如何迁移?
    20200523:如何实现并发限流
    20200521:es底层读写原理?倒排索引原理?
    20200525:MQ应用场景、Kafka和rabbit区别?kafka为什么支撑高并发? 来自
    20200519:催收核心业务是什么?
  • 原文地址:https://www.cnblogs.com/c1299401227/p/5370765.html
Copyright © 2011-2022 走看看