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];

    }

  • 相关阅读:
    python找出数组中第二大的数
    【高并发解决方案】5、如何设计一个秒杀系统
    如何找出单链表中的倒数第k个元素
    二叉树的前序,中序,后序遍历
    剑指Offer题解(Python版)
    python之gunicorn的配置
    python3实现字符串的全排列的方法(无重复字符)
    python实现斐波那契数列
    每天一个linux命令(56):netstat命令
    每天一个linux命令(55):traceroute命令
  • 原文地址:https://www.cnblogs.com/csgc0131123/p/5290365.html
Copyright © 2011-2022 走看看