Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //1) Costruire la struct nodo (con oppurtuno costruttore) per un albero binario singolarmente linkato
- //2) Scrivere una funzione nodo* trova(nodo* x,char y) che trova e restituisce un un nodo con campo
- // dati info == y nell' albero con radice x
- //4) Costruire un albero nel main e chiamare la funzione trova sull'albero
- #include <iostream>
- using namespace std;
- struct treenode
- {
- char info;
- treenode* left;
- treenode* right;
- treenode (int i, treenode* l, treenode* r)
- {
- info = i;
- left = l;
- right = r;
- }
- };
- treenode* trova(treenode* x,char y)
- {
- if (!x)
- {
- return 0;
- }
- if (x->info == y)
- {
- return x;
- }
- else
- {
- treenode* a;
- a = trova (x->left, y);
- if (!a)
- {
- return trova (x->right, y);
- }
- else
- {
- return a;
- }
- }
- }
- int main()
- {
- treenode * FO4 = new treenode (4, 0, 0);
- treenode * FO3 = new treenode (3, 0, 0);
- treenode * FO2 = new treenode (2, 0, 0);
- treenode * FO1 = new treenode (1, 0, 0);
- treenode * FI2 = new treenode (2, FO4, FO3);
- treenode * FI1 = new treenode (1, FO2, FO1);
- treenode * R = new treenode (0, FI2, FI1);
- treenode * i = trova (R, 4);
- cout << i;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement