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

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1e5+5;
    int a[maxn],n;
    int parti(int a[],int  l,int r)
    {
        int x=a[l];//以第一个为基准
        while(l<r)
        {
            while(l<r&&a[r]>=x)r--;//小于放左边
            a[l]=a[r];
            while(l<r&&a[l]<=x)l++;//大于放右边
            a[r]=a[l];
        }
        a[l]=x;
        return l;
    }
    void quick_sort(int a[],int l,int r)//递归排序
    {
        if(l<r)
        {
            int p=parti(a,l,r);
            quick_sort(a,l,p-1);
            quick_sort(a,p+1,r);
        }
    }
    int main()
    {
        cout<<"请输入数据个数"<<endl;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        quick_sort(a,0,n-1);
        for(int i=0;i<n;i++)
        {
            cout<<a[i]<<' ';
        }
        cout<<endl;
    }
    
    
  • 相关阅读:
    13 数据库主从
    12 数据备份
    11 锁机制
    12 日志
    10 索引(二)
    09 索引
    update kernel 3.10-3.12
    haproxy para config
    mysql slave to master
    storage disk
  • 原文地址:https://www.cnblogs.com/lhclqslove/p/8110776.html
Copyright © 2011-2022 走看看