打代码的小lj


私信TA

用户名:wt2644787308

访问量:339

签 名:

等  级
排  名 2958
经  验 2009
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:使用快速排序完成数组的排序,虽然比较复杂一点,而且对于这个有顺序的序列显然效果是最不好的,只是练习一下。

注意事项:

参考代码:

#include<iostream>

using namespace std;

int Partition(int a[], int low,int high){

    int pivot = a[low];

    // int mid = (low+high)/2;

    while(low<high){

        while(low<high&&a[high]<=pivot)

            --high;

        a[low] = a[high];

        while(low<high&&a[low]>=pivot)

            ++low;

        a[high] = a[low];

    }

    a[low] = pivot;

    return low;

}

void QuickSort(int a[], int low, int high){

    if(low<high){

        int pivot = Partition(a,low,high);

        QuickSort(a,low,pivot-1);

        QuickSort(a,pivot+1,high);

    }

}

int main()

{

    int a[10];

    for(int i=0; i<10; i++)

        cin>>a[i];

    QuickSort(a,0,9);

    for(int i=0; i<10; i++)

        cout<<a[i]<<" ";

    return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区