版权声明:转载请注明原文地址即可,要是本文对您有些许帮助的话,请您在下方点个赞,谢谢啦ヾ(o◕∀◕)ノヾ https://blog.csdn.net/qq_33583069/article/details/88593526
模板一:
最裸的模板,效率低,容易T,这道题就TLE了。
#include<bits/stdc++.h>
using namespace std;
#define N 100010
int n,a[N];
void swap(int& x,int& y){int t=x;x=y;y=t;}
void QuickSort(int l,int r){
if(l>=r)return;
int i=l+1,j=r,key=a[l];
while(i<j){
while(a[j]>=key&&j>i)j--;
while(a[i]<=key&&i<j)i++;
swap(a[i],a[j]);
}
if(a[i]<key){
swap(a[i],a[l]);
QuickSort(l,i-1);
QuickSort(i+1,r);
}
else{
swap(a[i-1],a[l]);
QuickSort(l,i-2);
QuickSort(i,r);
}
}
int main(){
ios::sync_with_stdio(false);cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
QuickSort(0,n-1);
for(int i=0;i<n;i++)cout<<a[i]<<" ";
return 0;
}
题解里面有一群人的模板是TLE的。都不说明一下,好气啊
具体的优化方法我稍后研究一下。
先用sort水过去。。
#include<bits/stdc++.h>
using namespace std;
#define N 100010
int n,a[N];
int main(){
ios::sync_with_stdio(false);cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)cout<<a[i]<<" ";
return 0;
}