求助!c 快排 前三个WA 后两个AC 好奇怪......
查看原帖
求助!c 快排 前三个WA 后两个AC 好奇怪......
1300157
wvvvvvvvvvvvv楼主2024/4/5 17:49
#include<stdio.h>
int Partition(int a[], int low, int high)
{
    int pivot = a[(low + high) / 2];
    int tem=0;
    while (low <= high)
    {
        while (a[high] > pivot)
            high--;
        while (a[low] < pivot)
            low++;
        if (low <= high)
        {
            tem = a[low];
            a[low] = a[high];
            a[high] = tem;
            low++;
            high--;
       }
    }
   return low;
}
void QuickSort(int a[], int low, int high)
{
   if (low < high)
   {
       int pivotpos = Partition(a, low, high);
        QuickSort(a, low, pivotpos - 1);
        QuickSort(a, pivotpos + 1, high);
   }
}
int main()
{
    int n,arr[100000]={0},i;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    QuickSort(arr,0,n-1);
    for(i=0;i<n-1;i++)
    printf("%d ",arr[i]);
    printf("%d\n",arr[n-1]);
    return 0;
}
2024/4/5 17:49
加载中...