• 头歌实验快速排序


    #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 *************************/

    }

  • 相关阅读:
    Go语言基础面经
    dumpbin工具的使用
    轨道交通上的安科瑞精密配电多回路监控装置
    shopee API 接入说明
    SRC实战-cookie注入漏洞
    剑指offer!年薪300万P9大佬揭秘Spring全家桶手册,刷完入职字节
    使用JS脚本打开多个网页的方法
    数据治理工程师(CDGA)学习心得分享
    Python 深度学习入门之CNN
    C#WinFrom下载本地文件
  • 原文地址:https://blog.csdn.net/Ydsb_w/article/details/133673741