快速排序 c++实现

来源:互联网 发布:网络与信息安全学报 ei 编辑:程序博客网 时间:2024/06/10 01:16
快速排序
#include <iostream>#include <algorithm>using namespace std;const int maxn = 1000 + 5;//居中值做转轴实现方法void quick_sort(int A[], int n){    if(n <= 2) return;    int i = 0, j = n - 1, m = A[n/2];    while(i < j) {        while(A[i] < m) i++;        while(A[j] > m) j--;        int tmp = A[i]; A[i] = A[j]; A[j] = tmp;        i++; j--;    }    A[i] = m;    quick_sort(A, i);    quick_sort(A+i+1, n-i-1);}int main(){    int A[maxn];    int n;    cin >> n;    for(int i = 0; i < n; i++) cin >> A[i];    quick_sort(A, n);    for(int i = 0; i < n; i++) cout << A[i] << " ";}

 
原创粉丝点击