0
点赞
收藏
分享

微信扫一扫

快速排序对数进行排序

何以至千里 2022-02-18 阅读 31

快速排序对数进行排序

用快速排序对数进行排序,首先输入排序数的个数,然后再依次输入各个数,然后即可完成排序。
#include <bits/stdc++.h>
using namespace std;

int a[1000010];

void Quick_Sort(int *arr, int begin, int end)
{
    if (begin > end)
        return;
    int tmp = arr[begin];
    int i = begin;
    int j = end;
    while (i != j)
    {
        while (arr[j] >= tmp && j > i)
            j--;
        while (arr[i] <= tmp && j > i)
            i++;
        if (j > i)
        {
            int t = arr[i];
            arr[i] = arr[j];
            arr[j] = t;
        }
    }
    arr[begin] = arr[i];
    arr[i] = tmp;
    Quick_Sort(arr, begin, i - 1);
    Quick_Sort(arr, i + 1, end);
}

int main()
{
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    Quick_Sort(a, 0, n);
    for (int i = 1; i <= n; i++)
    {
        cout << a[i] << " ";
    }
    cout << endl;
    return 0;
}
举报

相关推荐

0 条评论