当前位置:首页 / 文章测试 / C++快速排序

C++快速排序

开始打字练习

#include<iostream>

using namespace std;

const int N = 1e4 + 5, M = 1e4 + 5;

int a[N];

int n;

void show()

{

for(int i = 1; i <= n; i++)

cout << a[i] << ' ';

}

void quickSort(int l, int r)

{

if(l >= r)

return;

int t = a[l]; // 基准值

int i = l, j = r; // 哨兵

while(i < j){

while(a[j] > t)

j--;

while(a[i] <= t && i < j)

i++;

if(i != j)

swap(a[i], a[j]);

}

swap(a[l], a[i]);

quickSort(l, i - 1);

quickSort(i + 1, r);

}

int main()

{

cin >> n;

for(int i = 1; i <= n; i++)

cin >> a[i];

quickSort(1, n);

show();

return 0;

}

声明:以上文章均为用户自行发布,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。