Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BinaryTree buildTree(void) {
- BinaryTree T;
- BiMakeNull(&T);
- char oznaka[50];
- if(scanf("%s", oznaka) != 1) return T;
- if(strcmp("NULL", oznaka) == 0) return T;
- BiCreate(oznaka[0], buildTree(), buildTree(), &T);
- return T;
- }
- void unutarnji(node i, BinaryTree T, int *broj, bool print){
- if(i == LAMBDA) return;
- if((BiLeftChild(i, T))!=LAMBDA || (BiRightChild(i, T))!=LAMBDA){
- *broj = *broj+1;
- if(print) printf("%c ", BiGetLabel(i, T));
- }
- unutarnji(BiLeftChild(i, T), T, broj, print);
- unutarnji(BiRightChild(i, T), T, broj, print);
- }
- int main (void){
- int broj=0;
- BinaryTree X = buildTree();
- unutarnji(BiRoot(X), X, &broj, 0);
- printf("%d:", broj);
- unutarnji(BiRoot(X), X, &broj, 1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement