public void recorrer_Hijo(NodoIndividual <T> valor, RecorridoDlg <T> recorrido) { if (valor.derecho != null) { for (int j = 0; j <= valor.derecho.valores.Length - 1; j++) { NodoIndividual <T> aux = valor.derecho.valores[j]; if (aux != null) { recorrido(aux); recorrer_Hijo(aux, recorrido); } } } if (valor.izquierdo != null) { for (int j = 0; j <= valor.izquierdo.valores.Length - 1; j++) { NodoIndividual <T> aux = valor.izquierdo.valores[j]; if (aux != null) { recorrido(aux); recorrer_Hijo(aux, recorrido); } } } }
private void RecorridoPreOrdenInterno(RecorridoDlg <T> recorrido, Nodo <T> actual) { if (actual != null) { recorrido(actual); RecorridoEnOrdenInterno(recorrido, actual.izquierdo); RecorridoEnOrdenInterno(recorrido, actual.derecho); } }
public void recorrer_interno(NodoLista <T> inicio, RecorridoDlg <T> recorrido) { if (inicio != null) { for (int j = 0; j <= inicio.valores.Length - 1; j++) { NodoIndividual <T> aux = inicio.valores[j]; if (aux != null) { recorrido(aux); recorrer_Hijo(aux, recorrido); } } } }
public void EnOrden(RecorridoDlg <T> recorrido) { RecorridoEnOrdenInterno(recorrido, raiz); }
public void PostOrden(RecorridoDlg <T> recorrido) { RecorridoPostOrdenInterno(recorrido, raiz); }
public void recorrer(RecorridoDlg <T> recorrido) { recorrer_interno(raiz, recorrido); }