1.快速排序
#include <iostream>
#include <cstdio>
#include <string>
#define N 10010
using namespace std;
int a[N];
void quick(int st,int en){
int l = st,r = en;
if(l < r){
int temp = a[l];
while(l < r){
while(l<r && temp < a[r]) r--;
if(l < r) a[l] = a[r];
while(l<r && a[l] < temp) l++;
if(l<r) a[r] = a[l];
}
a[l] = temp;
quick(st,l-1);
quick(l+1,en);
}
}
int main(){
int n;
while(cin>>n){
for(int i = 0;i< n;i++){
cin>>a[i];
}
quick(0,n-1);
for(i = 0;i< n;i++){
cout<<a[i]<<" ";
}
cout<<endl;
}
return 0;
}
2.二叉树遍历:已知中,后序,求先序
3.全排列:在前n个字母中组成长度为m的全部序列