社区讨论
最基础快排竟然只得40分?
P1177【模板】排序参与者 8已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @mi6gwnz4
- 此快照首次捕获于
- 2025/11/20 04:41 4 个月前
- 此快照最后确认于
- 2025/11/20 04:41 4 个月前
CPP
#include<iostream>
using namespace std;
int N;
int a[100005];
void Qsort(int a[], int low, int high)
{
if(low >= high)
{
return;
}
int first = low;
int last = high;
int key = a[first];/*用数组的第一个记录作为枢轴*/
while(first<last)
{
while(first < last && a[last] >= key)
{
--last;
}
a[first]=a[last];/*将比第一个小的移到低端*/
while(first<last&&a[first]<=key)
{
++first;
}
a[last]=a[first];
/*将比第一个大的移到高端*/
CPP }
a[first]=key;/*枢轴记录到位*/
Qsort(a,low,first-1);
Qsort(a,first+1,high);
}
int main()
{
cin>>N;
for(int i=1;i<=N;i++)
{
cin>>a[i];
}
Qsort(a,1,N);
for(int i=1;i<=N;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...