コード例 #1
0
        public void inOrdengeneral2(nodoarbol actual1)
        {
            if (actual1 != null)
            {
                inOrdengeneral2(actual1.Izquierda);
                StreamWriter grafo2 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbolgeneral.txt", true);

                grafo2.Write("node" + actual1.Contador + "[label = \"<f0> |<f1>");
                grafo2.Write(actual1.Nickname + "|<f2>\"];\n");

                if (actual1.InicioLista == null)
                {
                }
                else
                {
                    int auxbandera  = 1;
                    int auxbandera2 = 2;
                    grafo2.WriteLine("\"node" + actual1.Contador + "\":f1->\"" + auxbandera + actual1.Nickname + "\";");
                    nododobleenlazada auxiliar = actual1.InicioLista;
                    while (auxiliar.Siguiente != null)
                    {
                        grafo2.Write("\"" + auxbandera + actual1.Nickname + "\"->\"" + auxbandera2 + actual1.Nickname + "\";");
                        grafo2.Write("\"" + auxbandera2 + actual1.Nickname + "\"->\"" + auxbandera + actual1.Nickname + "\";");
                        auxiliar = auxiliar.Siguiente;
                        auxbandera++;
                        auxbandera2++;
                    }
                }

                grafo2.Close();
                inOrdengeneral2(actual1.Derecha);
            }
        }
コード例 #2
0
        public void insertarlistausuario(string nicknameusuario, string nickopo, string udesple, string usobre, string udes, int bgano)
        {
            nodoarbol         usuarioactual = buscar(nicknameusuario);
            nododobleenlazada nuevolista    = new nododobleenlazada(nickopo, udesple, usobre, udes, bgano);

            if (usuarioactual == null)
            {
            }
            else
            {
                if (usuarioactual.InicioLista == null)
                {
                    usuarioactual.InicioLista = nuevolista;
                }
                else
                {
                    nododobleenlazada actual = usuarioactual.InicioLista;
                    while (actual != null)
                    {
                        if (actual.Siguiente == null)
                        {
                            actual.Siguiente    = nuevolista;
                            nuevolista.Anterior = actual;
                            break;
                        }
                        actual = actual.Siguiente;
                    }
                }
            }
        }
コード例 #3
0
        public void preOrden1(nodoarbol rai)
        {
            // grafo.open("arbol.txt", ios::app);

            if (rai != null)
            {
                if (rai.Izquierda != null)
                {
                    StreamWriter grafo2 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbol1.txt", true);
                    // grafo2.WriteLine("digraph G{");

                    //envez de correo iba contador
                    grafo2.WriteLine("\"node" + rai.Contador + "\"" + ":f0->\"node" + rai.Izquierda.Contador + "\":f1;\n");
                    grafo2.Close();
                }



                preOrden1(rai.Izquierda);

                if (rai.Derecha != null)
                {
                    StreamWriter grafo1 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbol1.txt", true);

                    grafo1.WriteLine("\"node" + rai.Contador + "\"" + ":f2->\"node" + rai.Derecha.Contador + "\":f1;\n");
                    grafo1.Close();
                }


                preOrden1(rai.Derecha);
            }
            // grafo2.Close();
        }
コード例 #4
0
        public void preOrdengeneral1(nodoarbol rai)
        {
            if (rai != null)
            {
                if (rai.Izquierda != null)
                {
                    StreamWriter grafo2 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbolgeneral.txt", true);
                    grafo2.WriteLine("\"node" + rai.Contador + "\"" + ":f0->\"node" + rai.Izquierda.Contador + "\":f1;\n");
                    grafo2.Close();
                }

                preOrdengeneral1(rai.Izquierda);

                if (rai.Derecha != null)
                {
                    StreamWriter grafo1 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbolgeneral.txt", true);
                    grafo1.WriteLine("\"node" + rai.Contador + "\"" + ":f2->\"node" + rai.Derecha.Contador + "\":f1;\n");
                    grafo1.Close();
                }


                preOrdengeneral1(rai.Derecha);
            }
            // grafo2.Close();
        }
コード例 #5
0
 public bool insertar1(nodoarbol actual, nodoarbol nuevo)
 {
     if (string.Compare(nuevo.Nickname, actual.Nickname) < 0)
     {
         if (actual.Izquierda == null)
         {
             actual.Izquierda = nuevo;
             return(true);
         }
         else
         {
             return(insertar1(actual.Izquierda, nuevo));
         }
     }
     else
     {
         if (actual.Derecha == null)
         {
             actual.Derecha = nuevo;
             return(true);
         }
         else
         {
             return(insertar1(actual.Derecha, nuevo));
         }
     }
 }
コード例 #6
0
 public void inOrdencontar(nodoarbol actual1)
 {
     if (actual1 != null)
     {
         contarnodos = contarnodos + 1;
         inOrdencontar(actual1.Izquierda);
         contarnodos = contarnodos + 1;
         inOrdencontar(actual1.Derecha);
     }
 }
コード例 #7
0
 public nodoarbol espejo1(nodoarbol actual)
 {
     if (actual != null)
     {
         nodoarbol t = actual.Izquierda;
         actual.Izquierda = actual.Derecha;
         actual.Derecha   = t;
         espejo1(actual.Derecha);
         espejo1(actual.Izquierda);
     }
     return(actual);
 }
コード例 #8
0
 public int calcularAltura1(nodoarbol actual)
 {
     if (actual == null)
     {
         return(0);
     }
     else
     {
         int hi = calcularAltura1(actual.Izquierda);
         int hd = calcularAltura1(actual.Derecha);
         return((hi > hd ? hi : hd) + 1);
     }
 }
コード例 #9
0
        public void inOrden2(nodoarbol actual1)
        {
            if (actual1 != null)
            {
                inOrden2(actual1.Izquierda);
                StreamWriter grafo2 = new StreamWriter("C:\\Users\\Admin\\Documents\\Visual Studio 2015\\Projects\\servidorproyecto\\arbol1.txt", true);

                grafo2.Write("node" + actual1.Contador + "[label = \"<f0> |<f1>");
                grafo2.Write(actual1.Nickname + "|<f2>\"];\n");
                grafo2.Close();



                inOrden2(actual1.Derecha);
            }
        }
コード例 #10
0
        public nodoarbol buscar1(nodoarbol actual, string info)
        {
            if (actual == null)
            {
                return(null);
            }

            int comparacion = string.Compare(info, actual.Nickname);

            if (comparacion == 0)
            {
                return(actual);
            }
            else
            {
                return(buscar1(comparacion < 0 ? actual.Izquierda : actual.Derecha, info));
            }
        }
コード例 #11
0
 public int getNodosHoja1(nodoarbol actual)
 {
     if (actual == null)
     {
         return(0);
     }
     else
     {
         if (actual.Izquierda == null && actual.Derecha == null)
         {
             return(1);
         }
         else
         {
             return(getNodosHoja1(actual.Izquierda) + getNodosHoja1(actual.Derecha));
         }
     }
 }
コード例 #12
0
        public bool insertar(string info, string contras, string corree, string stado)
        {
            /*  string contras = "123";
             * string corree = "*****@*****.**";
             * string stado = "inactivo";*/
            contadoraux = contadoraux + 1;

            if (buscar(info) == null)
            {
                if (raiz == null)
                {
                    raiz = new nodoarbol(info, contras, corree, stado, contadoraux);
                    return(true);
                }
                else
                {
                    return(insertar1(raiz, new nodoarbol(info, contras, corree, stado, contadoraux)));
                }
            }

            return(false);
        }
コード例 #13
0
 public ArbolBinario()
 {
     raiz = null;
 }