Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct drzewoBST
- {
- drzewoBST * up;
- drzewoBST * left;
- drzewoBST * right;
- int val;
- };
- void addBstNode(drzewoBST *root, int x)
- {
- if(root== nullptr)
- {
- drzewoBST *w=new drzewoBST();
- w->left= nullptr;
- w->right= nullptr;
- w->val=x;
- w=root;
- } else
- {
- if(x>=root->val)
- {
- addBstNode(root->right,x);
- }else
- addBstNode(root->left,x);
- }
- }
- drzewoBST* szukaj(drzewoBST *root,int wartoscSzukana)
- {
- if(root!= nullptr)
- {
- if(root->val==wartoscSzukana)
- {
- return root;
- }
- if(wartoscSzukana>root->val)
- {
- szukaj(root->right,wartoscSzukana);
- }else szukaj(root->left,wartoscSzukana);
- return nullptr;
- }
- }
- //funkcja usuwająca liście tego drzewa
- void usunTo(drzewoBST *&root)
- {
- delete root;
- }
- void usunLiscie (drzewoBST *&root)
- {
- if(root!= nullptr)
- {
- if(root->left== nullptr&&root->right== nullptr)//gdy nie ma możliwości zejścia w dół
- {
- usunTo(root);
- }else
- if(root->left!= nullptr)
- {
- usunLiscie(root->left);
- }else if(root->right!= nullptr)
- {
- usunLiscie(root->right);
- }
- }
- }
- //inorder ( wyświetlanie )
- void inorder(drzewoBST *&root)
- {
- if(root!= nullptr)
- {
- inorder(root->left);
- cout<<root->val<<" ";
- inorder(root->right);
- }else
- return;
- }
- int main() {
- drzewoBST * drzewo=new drzewoBST();
- addBstNode(drzewo,12);
- addBstNode(drzewo,16);
- addBstNode(drzewo,25);
- addBstNode(drzewo,14);
- addBstNode(drzewo,3);
- addBstNode(drzewo,8);
- addBstNode(drzewo,22);
- addBstNode(drzewo,16);
- addBstNode(drzewo,10);
- addBstNode(drzewo,27);
- inorder(drzewo);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement