2 条题解
-
0
Guest
-
0
诏曰
#include<bits/stdc++.h> using namespace std;//4 5 6 1 5 2 3 5 int nums[100000000],n,m; int part(int* p,int l,int r){ while(l<r){ while(l<r&&p[l]<p[r]) r--; if(l<r) swap(p[l++],p[r]);//换位后左指针向右移一位 while(l<r&&p[l]<p[r]) l++; if(l<r) swap(p[l],p[r--]);//换位后右指针向左移一位 } return r; } void QuickSort(int* p,int l,int r){ int mid; if(l<r){ mid=part(p,l,r); QuickSort(p,l,mid-1); QuickSort(p,mid+1,r); } } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>nums[i]; QuickSort(nums,1,n); for(int i=1;i<=n;i++) cout<<nums[i]<<" "; return 0; }
信息
- ID
- 666
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 39
- 已通过
- 11
- 上传者