• 数据排序之快速排序


    • 选择排序
      ======

    • 冒泡排序
      ======

    • 插入排序
      ======

    • 桶排序
      =====

    • 快速排序
      ======

    快速排序(Quicksort)是对冒泡排序的一种改进。
    快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

    #include <iostream>
    
    using namespace std;
    
    int a[100001];
    
    int qsort(int l,int r)
    {
        int i,j,mid,p;
        i=l;
        j=r;
        mid=a[(l+r)/2];
        do
        {
            while(a[i]<mid)
                i++;
            while(a[j]>mid)
                j--;
            if(i<=j)
            {
                p=a[i];
                a[i]=a[j];
                a[j]=p;
                i++;
                j--;
            }
        }while(i<=j);
    
        if(l<j)
            qsort(l,j);
        if(i<r)
            qsort(i,r);
        return 0;
    }
    
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        qsort(1,n);
        for(int i=1;i<=n;i++)
        {
            cout<<a[i]<<" ";
        }
        return 0;
    }
    
    
    • 归并排序
      ======

    • 逆序队
      =====

    • 各种排序算法的比较
      ===========

  • 相关阅读:
    Manacher-模版题poj3974 hdu3068
    拓展kmp(带注释版)
    颓の第17周
    php 递归遍历目录带缩进
    php 递归遍历目录
    php session
    apache主机配置
    php环境配置的检测方法
    php 变量
    php MVC
  • 原文地址:https://www.cnblogs.com/ZCWang/p/12507490.html
Copyright © 2020-2023  润新知