static void Main() { //Crea la raíz del árbol N-ario Nodo arbolN = new Nodo("AAAA", 'a', 1, 0.1); //Agrega varios hijos a esa raíz arbolN.AgregaHijo(new Nodo("BBBB", 'b', 2, 0.2)); arbolN.AgregaHijo(new Nodo("CCCC", 'c', 3, 0.3)); arbolN.AgregaHijo(new Nodo("DDDD", 'd', 4, 0.4)); arbolN.AgregaHijo(new Nodo("EEEE", 'e', 5, 0.5)); arbolN.AgregaHijo(new Nodo("FFFF", 'f', 6, 0.6)); //Agrega varios hijos al nodo "BBBB" arbolN.Hijos[0].AgregaHijo(new Nodo("Bhhh", 'h', 7, 0.7)); arbolN.Hijos[0].AgregaHijo(new Nodo("Biii", 'i', 8, 0.8)); arbolN.Hijos[0].AgregaHijo(new Nodo("Bjjj", 'j', 9, 0.9)); //Agrega varios hijos al nodo "EEEE" arbolN.Hijos[4].AgregaHijo(new Nodo("Ekkk", 'k', 10, 1.1)); arbolN.Hijos[4].AgregaHijo(new Nodo("Elll", 'l', 11, 1.2)); //Imprime el árbol arbolN.Imprime(); arbolN.Hijos[0].Imprime(); arbolN.Hijos[1].Imprime(); arbolN.Hijos[2].Imprime(); arbolN.Hijos[3].Imprime(); arbolN.Hijos[4].Imprime(); arbolN.Hijos[0].Hijos[0].Imprime(); Console.ReadKey(); }
static void Main() { //Crea la lista Nodo lista = new Nodo("aaaa", 'A', 1, 0.1, null); lista = new Nodo("bbbb", 'B', 2, 0.2, lista); lista = new Nodo("cccc", 'C', 3, 0.3, lista); lista = new Nodo("dddd", 'D', 4, 0.4, lista); lista = new Nodo("eeee", 'E', 5, 0.5, lista); lista = new Nodo("ffff", 'F', 6, 0.6, lista); lista = new Nodo("gggg", 'G', 7, 0.7, lista); lista = new Nodo("hhhh", 'H', 8, 0.8, lista); lista = new Nodo("iiii", 'I', 9, 0.9, lista); //Pasea la lista, imprimiéndola Nodo pasea = lista; while (pasea != null) { pasea.Imprime(); pasea = pasea.Apuntador; } Console.ReadKey(); }
//Imprime la lista static public void ImprimeLista(Nodo pasear) { while (pasear != null) { pasear.Imprime(); pasear = pasear.Apuntador; } }
//Recorre el árbol static void RecorreArbolN(Nodo Arbol) { if (Arbol != null) { Arbol.Imprime(); for (int cont = 0; cont < Arbol.Hijos.Count; cont++) { RecorreArbolN(Arbol.Hijos[cont]); } } }
static void Main() { //Crea la lista Nodo lista = new Nodo("aaaa", 'A', 1, 0.1, null); lista = new Nodo("bbbb", 'B', 2, 0.2, lista); lista = new Nodo("cccc", 'C', 3, 0.3, lista); //Imprime la lista lista.Imprime(); //Primer nodo lista.Apuntador.Imprime(); //Segundo nodo lista.Apuntador.Apuntador.Imprime(); //Tercer nodo Console.ReadKey(); }
//Imprime la lista de derecha a izquierda static public void ImprimeDerechaIzquierda(Nodo pasear) { Console.WriteLine("\r\nDe derecha a izquierda"); //Debe ponerse en el primer nodo de la derecha while (pasear.NodoDer != null) { pasear = pasear.NodoDer; } //Una vez en el primer nodo de la derecha, entonces va //de derecha a izquierda imprimiendo while (pasear != null) { pasear.Imprime(); pasear = pasear.NodoIzq; } }
static void Main() { //Crea dos nodos separados Nodo primero = new Nodo("Rafael", 'A', 16, 8.32); Nodo segundo = new Nodo("Moreno", 'P', 9, 2.9); Nodo tercero = new Nodo("Sally", 'C', 2010, 7.18); //Une el primer nodo con el segundo, creando una simple lista primero.Apuntador = segundo; //Une el segundo nodo con el tercero, aumentando la lista segundo.Apuntador = tercero; //Imprime la lista primero.Imprime(); primero.Apuntador.Imprime(); primero.Apuntador.Apuntador.Imprime(); Console.ReadKey(); }
static void Main() { //Crea la lista Nodo lista = new Nodo("aaaa", 'A', 1, 0.1, null); lista = new Nodo("bbbb", 'B', 2, 0.2, lista); lista = new Nodo("cccc", 'C', 3, 0.3, lista); lista = new Nodo("dddd", 'D', 4, 0.4, lista); lista = new Nodo("eeee", 'E', 5, 0.5, lista); lista = new Nodo("ffff", 'F', 6, 0.6, lista); lista = new Nodo("gggg", 'G', 7, 0.7, lista); lista = new Nodo("hhhh", 'H', 8, 0.8, lista); lista = new Nodo("iiii", 'I', 9, 0.9, lista); //Trae un determinado nodo Nodo particular = TraeNodo(lista, 2); particular.Imprime(); Console.ReadKey(); }