c_cpp 快速排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 快速排序相关的知识,希望对你有一定的参考价值。

#include <iostream>
using namespace std;

int partition(int a[], int low, int high){
    int pivot = a[high];
    int i = low-1;
    for(int j = low;j < high; j++){
        if (a[j] <= pivot)
            swap(a[++i], a[j]);
    }
    swap(a[i+1], a[high]);
    return i+1;
}

int quicksort(int a[], int low, int high){
    if (low < high){
        int pi = partition(a, low, high);

        quicksort(a, low, pi-1);
        quicksort(a, pi+1, high);
    }
}

int main(){
    int n;
    cout << "No.of elements \n";
    cin >> n;
    int a[n];
    cout << "Enter the elements \n";
    for (int i = 0;i<n;i++)
        cin >> a[i];

    quicksort(a,0,n-1);
    for (int i = 0;i<n;i++)
        cout << a[i] << "  ";
}

以上是关于c_cpp 快速排序的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 快速排序

c_cpp 快速排序

c_cpp 快速排序

c_cpp 快速排序

c_cpp 快速排序的.cpp

c_cpp 【分治法】快速排序【2.8】