快排
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
void f(int,int);
void cl(int,int,int);
void q(int,int);
int a[211];
int n;
int main(){cin>>n;for(int i=0;i<n;i++){cin>>a[i];}q(0,n-1);for(int i=0;i<n;i++){cout<<a[i]<<" ";}return 0;
}
void f(int l,int r){if(l==r) return;int mid=(l+r)/2;f(l,mid);f(mid+1,r);cl(l,mid,r);
}
void cl(int l,int mid,int r){int t[100010];int lt=l;int i=l;int j=mid+1;while(i<=mid&&j<=r){if(a[i]<a[j]) t[lt++]=a[i++];else t[lt++]=a[j++];}while(i<=mid) t[lt++]=a[i++];while(j<=r) t[lt++]=a[j++];for(int i=l;i<=r;i++){a[i]=t[i];}
}
void q(int l,int r){int key=a[(l+r)/2];int i=l;int j=r;while(i<=j){while(a[i]<key) i++;while(a[j]>key) j--;if(i<=j){swap(a[i],a[j]);i++;j--;}}if(i<r) q(i,r);if(j>l) q(l,j);
}
归并
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
void f(int,int);
void cl(int,int,int);
int a[211];
int n;
int main(){cin>>n;for(int i=0;i<n;i++){cin>>a[i];}f(0,n-1);for(int i=0;i<n;i++){cout<<a[i]<<" ";}return 0;
}
void f(int l,int r){if(l==r) return;int mid=(l+r)/2;f(l,mid);f(mid+1,r);cl(l,mid,r);
}
void cl(int l,int mid,int r){int t[100010];int lt=l;int i=l;int j=mid+1;while(i<=mid&&j<=r){if(a[i]<a[j]) t[lt++]=a[i++];else t[lt++]=a[j++];}while(i<=mid) t[lt++]=a[i++];while(j<=r) t[lt++]=a[j++];for(int i=l;i<=r;i++){a[i]=t[i];}
}