Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct drzewo
- {
- short wartosc;
- unsigned int licznik;
- struct drzewo *L, *P;
- } drzewo;
- void dodaj(drzewo**, int);
- void print_drzewo(drzewo*);
- int main()
- {
- drzewo *start=NULL;
- dodaj(&start, 17);
- dodaj(&start, 13);
- dodaj(&start, 18);
- dodaj(&start, 15);
- dodaj(&start, 19);
- dodaj(&start, 25);
- dodaj(&start, 20);
- dodaj(&start, 30);
- dodaj(&start, 14);
- print_drzewo(start);
- return 0;
- }
- void dodaj(drzewo **start, int liczba)
- {
- drzewo *biezacy=*start;
- drzewo *temp=NULL;
- if(biezacy==NULL)
- {
- temp=malloc(sizeof(drzewo));
- temp->wartosc=liczba;
- temp->L=NULL;
- temp->P=NULL;
- temp->licznik=1;
- *start=temp;
- return;
- }
- if(liczba<biezacy->wartosc)
- dodaj(&(biezacy->L),liczba);
- else if(liczba==biezacy->wartosc)
- biezacy->licznik++;
- else
- dodaj(&(biezacy->P),liczba);
- }
- void print_drzewo(drzewo* p_drzewo)
- {
- if(p_drzewo)
- {
- print_drzewo(p_drzewo->L);
- printf("%d licznik %d\n", p_drzewo->wartosc, p_drzewo -> licznik);
- print_drzewo(p_drzewo->P);
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement