示例#1
0
        private void InsereRC(ref Nodo N, ITweet value)
        {
            if (N == null)
                {
                    Nodo novoNodo = new Nodo(value);
                    N = novoNodo;
                }
                else if (value.CreatedAt < N.valor.CreatedAt) // menor vai pra esquerda
                    InsereRC(ref N.esquerda, value);
                else //if (value >= N.valor) // maior ou igual vai pra direita
                    InsereRC(ref N.direita, value);

                return;
        }
示例#2
0
        public void Imprime(Nodo N, ref string s)
        {
            if (N == null)
                    N = raiz;

                if (N.esquerda != null)
                {
                    Imprime(N.esquerda, ref s);
                    s = s + N.valor.CreatedBy.ScreenName + "\n";
                }
                else
                    s = s + N.valor.CreatedBy.ScreenName + "\n";

                if(N.direita != null)
                    Imprime(N.direita, ref s);
        }
示例#3
0
 /// <summary>
 /// Cria uma árvore binária com raiz nula.
 /// </summary>    
 public Arvore()
 {
     raiz = null;
 }
示例#4
0
 /// <summary>
 /// Cria uma árvore binária com raiz possuindo um valor.
 /// </summary>
 /// <param name="value"></param>
 public Arvore(ITweet value)
 {
     raiz = new Nodo(value);
 }
示例#5
0
 // construtor para árvore apenas com a raiz
 public Nodo(ITweet inicial)
 {
     valor = inicial;
         esquerda = null;
         direita = null;
 }