zoukankan      html  css  js  c++  java
  • 快速排序

    #include<iostream>
    using namespace std;
    int arr[10001];

    void QuickSort(int s,int e)
    {
        int x=arr[s];
        int l=s;             //以第一个数为参照做比较  
        int r=e;
        if(l>=r)
          return;
        while(l<r)
        {
            while(l<r &&arr[r]>=x)
            {
                r--;     //不小于分界值的留在右边,遇到小于的停止
            }
            arr[l]=arr[r];
            while(l<r && arr[l]<=x)
            {
                l++;
            }
            arr[r]=arr[l];
        }
        arr[r]=x;
        QuickSort(s,r-1);
        QuickSort(r+1,e);
        return ;
    }

    int main()
    {
        int i,n;
        cin>>n; //输入要排序的数组长度
        for(i=0;i<n;i++)
        {
            cin>>arr[i];
        }
        QuickSort(0,n-1);
        for(i=0;i<n;i++)
        {
            cout<<arr[i]<<endl;
        }
        return 0;
    }

  • 相关阅读:
    Codeforces 1515 H. Phoenix and Bits 题解
    Codeforces 1511 F. Chainword 题解
    Codeforces 1369F. BareLee 题解
    莫队学习笔记
    圆方树学习笔记
    虚树学习笔记
    NOIP2020退役记
    CSP-S2 2021 场外
    我。
    WC2021 游记
  • 原文地址:https://www.cnblogs.com/qingcheng/p/2026390.html
Copyright © 2011-2022 走看看