quicksort
今天忽然到洛谷上看到自己三年前,还没有退役的时候写的代码 感慨万千 初二初三高一的不学习沉迷lol上课睡觉打游戏从来没写过作业导致了现在废物的我 一个快排模板
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+5;
int s[N];
int tmp[N];
int tot=0;
void same(int left,int mid,int right){
int i=left;
int j=mid+1;
int tot=left;
while(i<=mid||j<=right){
if(i>mid) tmp[tot++]=s[j++];
else if(j>right){
tmp[tot++]=s[i++];
}
else {
if(s[i]>s[j]){
tmp[tot++]=s[j++];
}
else{
tmp[tot++]=s[i++];
}
}
}
for(int k=left;k<=right;k++)
s[k]=tmp[k];
}
void msort(int left,int right){
if(left==right) return ;
int mid=(left+right)/2;
msort(left,mid);
msort(mid+1,right);
same(left,mid,right);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s[i];
}
msort(1,n);
for(int i=1;i<=n;i++){
cout<<s[i]<<" ";
}
cout<<endl;
return 0;
}