Pagini recente » Cod sursa (job #910980) | Cod sursa (job #773569) | Cod sursa (job #62835) | Cod sursa (job #493812) | Cod sursa (job #2079606)
# include <fstream>
# include <stdlib.h>
# include <time.h>
# define DIM 500010
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
struct nod{
int val;
nod *st,*dr;
} *tata;
int v[DIM],n,i,poz;
void adauga(nod *&nc,int el){
if(nc==NULL){
nc=new nod;
nc->val=el;
nc->st=NULL;
nc->dr=NULL;
return;
}
if(el<=nc->val)
adauga(nc->st,el);
else
adauga(nc->dr,el);
}
void afisare(nod *nc){
if(nc!=NULL){
afisare(nc->st);
fout<<nc->val<<" ";
afisare(nc->dr);
}
}
int main () {
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
srand(time(0));
for(i=n;i>=2;i--){
poz=rand()%(i-1)+1;
swap(v[i],v[poz]);
}
tata=new nod;
tata->val=v[1];
tata->st=NULL;
tata->dr=NULL;
for(i=2;i<=n;i++)
adauga(tata,v[i]);
afisare(tata);
return 0;
}