#include #include 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); } }