快速排序 c++实现2.0

来源:互联网 发布:文字扫描仪软件 编辑:程序博客网 时间:2024/06/04 23:24

快速排序

这篇的快速排序是以第一个元素为基准

#include <iostream>using namespace std;int arr[1001];void quick_sort(int front, int rear){    if(front >= rear) return;            int q = arr[front], i = front, j = rear;    while(i < j){        while(i < j && arr[j] > q) j--; //这里用 i < j 来防止i > j        arr[i] = arr[j];                        while(i < j && arr[i] < q) i++; //        arr[j] = arr[i];    }    arr[i] = q;    quick_sort(front, i-1);    quick_sort(i+1, rear);}int main(){    int n;    cin >> n;    for(int i = 0; i < n; i++) cin >> arr[i];    quick_sort(0, n-1);    for(int i = 0; i < n; i++) cout << arr[i] << " ";    cout << endl;}


原创粉丝点击