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; }
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); }
/// <summary> /// Cria uma árvore binária com raiz nula. /// </summary> public Arvore() { raiz = null; }
/// <summary> /// Cria uma árvore binária com raiz possuindo um valor. /// </summary> /// <param name="value"></param> public Arvore(ITweet value) { raiz = new Nodo(value); }
// construtor para árvore apenas com a raiz public Nodo(ITweet inicial) { valor = inicial; esquerda = null; direita = null; }