Thuật toán sắp xếp bằng BST
struct Tree{
int info;
Tree *left, *right;
};
void Chen(int x, Tree *&T){
if(!T){
T = new Tree; T->info = x; T->left = T->right = NULL;
}else if(T->info<x)Chen(x, T->right);
else Chen(x, T->left);
}
void LNR(Tree *T, int x[], int &n){
if(T){
LNR(T->left,x,n);
x[n++] = T->info;
LNR(T->right,x,n);
}
}
main(){
int *a, n;
Tree *T=NULL;
// input a, n;
for(int i=0; i<n; i++)
Chen(T,a[i],n);
n = 0;
LNR(T,x,n);
// duoc day tang dan
}