• 快速排序


    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    void quicksort(int Arr[], int p, int q);
    int partition(int Arr[], int p, int q);
    int main()
    {

     int arr[10] = { 10,9,4,7,8,5,6,3,2,1 };
     for (int i = 0; i < 10; i++)
      cout << arr[i] << endl;
     quicksort(arr, 0, 9);
     cout << "排序后:" << endl;
     for (int i = 0; i < 10; i++)
      cout << arr[i] << endl;
     return 0;
    }
    void quicksort(int Arr[], int p, int q)
    {
     
     if (p < q)
     {
      int r = partition(Arr, p, q);
      quicksort(Arr, p, r-1);
      quicksort(Arr, r+1, q);
     }
    }
    int partition(int Arr[], int p, int q)
    {
     int x = Arr[p];
     int i = p;
     for (int j = p+1; j <= q; j++)
     {
      if (Arr[j] <=x)
      {
       i++;
       swap(Arr[i],Arr[j]);
      }
     }
     swap(Arr[p], Arr[i]);//不能把Arr[p]写成x;我也不知道为啥
     return i;
    }

  • 相关阅读:
    style实例
    背景小实例
    html表单与输入实例
    列表小知识
    表格的使用
    框架的奥秘
    链接那档子事
    判断网络是否连通
    Python3编码规范
    CentOS 7 安装 Docker-Compose
  • 原文地址:https://www.cnblogs.com/Rakint/p/9775545.html
Copyright © 2020-2023  润新知