Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static int Algo_Miky(BST Tree, BST Dad, BST Node, int x)
- {
- BST last = null;
- var S = new Stack<BST>();
- var R = new Stack<int>();
- var ret = 0;
- while (S.Count > 0 || Node != null)
- if (Node != null)
- {
- R.Push(1);
- S.Push(Node);
- Node = Node.Sx;
- }
- else
- {
- Node = S.Peek();
- if (Node.Dx != null && Node.Dx != last)
- Node = Node.Dx;
- else
- {
- ret = R.Pop();
- R.Push(ret + (R.Count > 0 ? R.Pop() : 0));
- funzione(Tree, Node, Dad, x, ret);
- last = Node;
- Node = null;
- S.Pop();
- }
- }
- return ret;
- }
- private static void funzione(BST Tree, BST Node, BST Dad, int x, int ret)
- {
- if (Node.key % 2 == 0 && ret < x && Dad != null)
- {
- if (Node == Dad.dx)
- Dad.dx = Cancella(Tree, Node);
- else
- Dad.sx = Cancella(Tree, Node);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement