zoukankan      html  css  js  c++  java
  • 纯快排

    #include<iostream>
    #include<cstring>
    #include<stack>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    #define MAX 100005
    int partition(int A[],int n,int p,int r)
    {
        int i,j;
        int t,x;
        x=A[r];
        i=p-1;
        for(j=p;j<r;j++)
        {
            if(A[j]<=x)
            {
                i++;
                //t=A[i];A[i]=A[j];A[j]=t;
                swap(A[i],A[j]);
            }
        }
        //t=A[i+1];A[i+1]=A[r];A[r]=t;
        swap(A[i+1],A[r]);
        return i+1; 
    }
    void quickSort(int A[],int n,int p,int r)
    {
        int q;
        if(p<r)
        {
            q=partition(A,n,p,r);
            quickSort(A,n,p,q-1);
            quickSort(A,n,q+1,r);
        }
    }
    
    int main()
    {
      int n;
      int A[MAX];
      cin>>n;
      for(int i=0;i<n;i++)
      {
       scanf("%d",&A[i]);
      }
      quickSort(A,n,0,n-1);
      for(int i=0;i<n;i++)
      {
          if(i)
          cout<<" ";
          cout<<A[i];
      }
      cout<<endl;
    return 0;
     } 

    但洛谷那道题还是超时,后面还是用以前写的归并排序过的(其实我之前用sort过的

  • 相关阅读:
    多条件复合搜索的实现
    mysql字符集统一
    JS控制彈出窗口
    mysql常用sql
    正则表达式
    航班时间
    1月19日
    1月28日check小爱用
    在么小猫
    大连美发备考
  • 原文地址:https://www.cnblogs.com/hh13579/p/10806780.html
Copyright © 2011-2022 走看看