#include <stdlib.h>
#include <stdio.h>


int tab[2000];
int main()

{ 
struct wenzel
   { 
    int liczba;
    struct rekord *l,*p,*poprzedni;
    } root;
 struct wenzel *nowy,*temp;
 int i;


 for (i=0;i<2000;i++) 
  { 
   tab[i]=rand();
  }

 nowy=(struct wenzel *)malloc(sizeof(struct wenzel));

 for (i=0;i<2000;i++) 
  { 
  rozpisz_na_drzewo(nowy,i);
  }

 sortuj(nowy);

 return(0);
}

void dodaj_l(int staryw, int wartosc)
{
struct wenzel
   { 
    int liczba;
    struct rekord *l,*p,*poprzedni;
    } *stary;
stary=staryw;
stary->l=(struct wenzel *) malloc(sizeof(struct wenzel)); 
stary->l->liczba=wartosc;
 }

void dodaj_p(int staryw,int wartosc)
{
struct wenzel
   { 
    int liczba;
    struct rekord *l,*p,*poprzedni;
    } *stary;
 stary=staryw;
 stary->p=(struct wenzel *) malloc(sizeof(struct wenzel)); 
 stary->p->liczba=wartosc; 
} 

void rozpisz_na_drzewo(int aktywnyw,int ii);
{ 
 struct wenzel *aktywny; 
 aktywny=aktywnyw;

 if (aktywny->liczba >= tab[ii])
  { 
   if (aktywny->l == NULL) dodaj_l(aktywny,tab[ii]);
   else rozpisz_na_drzewo(aktywny->l,ii);
  }  
 else 
  { 
   if (aktywny->p == NULL) dodaj_p(aktywny,tab[ii]);
   else rozpisz_na_drzewo(aktywny->p,ii);
  }  
}

void sortuj(int aktywnyw)
{ 
 struct wenzel *aktywny; 
 aktywny=aktywnyw;
 if (aktywnyz != NULL)
  { 
   sortuj(aktywny->l);
   sortuj(aktywny->p);
  }

}