Ejemplo n.º 1
0
 //POS-ORDEM - Recebe a arvore como parametro
 public void postOrder(Node theRoot)
 {
     if (!(theRoot == null))
     {
         postOrder(theRoot.Left);
         postOrder(theRoot.Right);
         theRoot.DisplayNode();
     }
 }
Ejemplo n.º 2
0
        public void insert(int v)
        {
            Node newNode = new Node(); // Instancia um novo nó

            newNode.Data = v; //o valor (atributo Data) do nó recebe v (valor aleatório que passei como parametro)

            if (root == null) // se a arvore for vazia, inicia uma nova árvore
            {
                root = newNode;
            }
            else //se a árvore nao estiver vazia, a inserção será feita em seu devido lugar
            {
                Node current = root; //ramificação atual

                Node parent; //ramificação ancestral

                while (true) //a condição de parada não é variável, o laço while será parado pela condição 'break',
                {                   //que indicará que o item inserido chegou na raiz da árvore

                    parent = current;

                    if (v < current.Data) // se o nó a ser inserido for menor que o nó a ser comparado
                    {
                        current = current.Left; // nó corrente recebe o nó que está a esquerda do nó corrente
                        if (current == null) // se o nó corrente for vazio
                        {
                            parent.Left = newNode; // o nó que está a esquerda do nó ancestral recebe o novo nó
                            break;
                        }
                    }
                    else // se o nó a ser inserido for maior que o nó a ser comparado
                    {
                        current = current.Right;  // nó corrente recebe o nó que está a direita do nó corrente
                        if (current == null)  // se o nó corrente for vazio
                        {
                            parent.Right = newNode;  // o nó que está a esquerda do nó ancestral recebe o novo nó
                            break;
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public Node root; //CRIA UM OBJETO 'root' DO TIPO NÓ('node')

        #endregion Fields

        #region Constructors

        public BST()
        {
            root = null; //Crio uma nova BST assim que algum objeto instanciar a classe BST
        }