• 头歌实验快速排序


    #include

    using namespace std;

    void print(int a[], int n)

    {  

        for(int j= 0; j

        {  

               cout<

            }  

    }  

    void quickSort(int a[], int low ,int high)

    {

     /********************begin***********************/

       if (low < high) {

            int pivot = a[low];  // 选择第一个元素为基准值

            int i = low + 1;     // 从基准值之后的第一个元素开始遍历

            int j = high;        // 从最后一个元素开始遍历

            while (i <= j) {

                // 从左边找到第一个大于基准值的元素

                while (i <= j && a[i] < pivot) {

                    i++;

                }

                // 从右边找到第一个小于基准值的元素

                while (i <= j && a[j] > pivot) {

                    j--;

                }

                // 交换找到的两个元素

                if (i <= j) {

                    swap(a[i], a[j]);

                    i++;

                    j--;

                }

            }

            // 将基准值放到正确的位置上

            swap(a[low], a[j]);

            // 递归地对基准值两边的子数组进行快速排序

            quickSort(a, low, j - 1);

            quickSort(a, j + 1, high);

        }

     /********************end *************************/

    }

    int main()

    {  

        int n;

        cin>>n;

        int *a = new int[n];

        for (int i=0;i

        {

            cin>>a[i];

        }

       

     /********************begin***********************/

        quickSort(a, 0, n-1);

        print(a, n);

        delete[] a;

        return 0;

     /********************end *************************/

    }

  • 相关阅读:
    STM32移植SFUD
    vue+element模仿电商商城,前后端分离实现,下单微信扫码支付
    大数据 为什么用
    MySQL:索引(1)原理与底层结构
    9-ts抽象类
    Java----集合框架(Collection)、foreach的用法
    5. `sklearn`下的线性回归
    DCU集群搭建虚拟环境方法简介
    C++ 虚析构
    【mysql】MySQL 主从同步延迟排查
  • 原文地址:https://blog.csdn.net/Ydsb_w/article/details/133673741