Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <stdlib.h> //clear screen
- typedef struct treeBST
- {
- int number;
- struct treeBST* lchild;
- struct treeBST* rchild;
- }bst;
- //skrócenie polecenia czyszczenia ekranu
- void clear()
- {
- system("cls");
- }
- //1b - zapisanie elementu użytkownika do drzewa z 1a
- void add(bst** tree, bst* new1)
- {
- int done = 0;
- while(done == 0)
- {
- if((*tree) == NULL)
- {
- //printf("Wchodzę\n"); //test czy wchodzi
- *tree = new1;
- new1->lchild = NULL;
- new1->rchild = NULL;
- done = 1;
- }
- else
- {
- if (new1->number < (*tree)->number)
- {
- tree = &((*tree)->lchild);
- //printf("Lewa"); //test czy wchodzi
- }
- else
- {
- tree = &((*tree)->rchild);
- //printf("prawy"); //test
- }
- }
- }
- }
- //1a - wczytanie elementu użytkownika
- void addBranch(bst** tree)
- {
- clear();
- bst* new1= (bst*)malloc(sizeof(bst));
- printf("Podaj numer nowej galezi:\n");
- scanf("%d", &new1->number);
- add(tree, new1);
- printf("Dodano %d do drzewa\n", new1->number);
- getch();
- clear();
- }
- //2
- void printLVR(bst* tree)
- {
- bst* srch = tree;
- if (srch->lchild != NULL)
- printLVR(tree->lchild);
- printf("%d, ", srch->number);
- if (srch->rchild != NULL)
- printLVR(tree->rchild);
- }
- int main()
- {
- int choose;
- bst* tree = NULL;
- printf("Witamy w programie obslugi drzew BST!\n");
- while(choose!=9)
- {
- printf("Oto dostepne opcje:\n");
- printf("1 - Dodaj element\n");
- printf("2 - Wypisz elementy LVR\n");
- printf("9 - Zakoncz program\n");
- scanf("%i", &choose);
- switch(choose)
- {
- case 1:
- addBranch(&tree);
- break;
- case 2:
- clear();
- if (tree != NULL)
- printLVR(tree);
- else
- printf("Puste drzewo...\n");
- getch();
- clear();
- break;
- case 9:
- clear();
- printf("Do widzenia\n");
- break;
- default:
- clear();
- printf("Funkcja niedostepna, prosze wybierz inna\n...\n");
- getch();
- clear();
- break;
- }
- }
- getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement