Ejemplo n.º 1
0
        public void Agregarnodo(int[,] mat, string[] cadenas)
        {
            NodoDoble nuevo = new NodoDoble();

            nuevo.Cadenas = cadenas;
            nuevo.Matriz  = mat;
            if (noddoble == null)
            {
                noddoble           = nuevo;
                noddoble.Indice    = 1;
                noddoble.Izquierda = nuevo;
                nuevo.Derecha      = noddoble;
            }
            else
            {
                int       auxi2 = 1;
                NodoDoble auxi  = noddoble;
                if (auxi.Derecha != null)
                {
                    do
                    {
                        auxi2 = auxi.Indice;
                        auxi  = auxi.Derecha;
                    } while (auxi.Indice != noddoble.Indice);
                }
                nuevo.Indice = auxi2 + 1;
                NodoDoble AUXIS = auxi.Izquierda;
                nuevo.Izquierda = AUXIS;

                AUXIS.Derecha      = nuevo;
                nuevo.Derecha      = auxi;
                noddoble.Izquierda = nuevo;

                /*nuevo.Derecha = auxi;
                 * auxi.Derecha = nuevo;
                 * nuevo.Indice = auxi2 + 1;
                 * noddoble.Izquierda = nuevo;
                 * nuevo.Izquierda =AUXIS;         */
            }

            MessageBox.Show("NODO AGREGADO");
        }
Ejemplo n.º 2
0
        public void Mostrar(ref DataGridView d)
        {
            NodoDoble auxi = noddoble;
            int       col  = noddoble.Izquierda.indice;

            d.RowCount    = 2;
            d.ColumnCount = col;
            int celda = 0;

            if (auxi.Derecha != null)
            {
                do
                {
                    int[,] postizo = auxi.Matriz;
                    string[] postizo2 = auxi.Cadenas;
                    string   num      = "";
                    string   cadena   = "";
                    for (int i = 0; i < postizo.GetLength(0); i++)
                    {
                        for (int j = 0; j < postizo.GetLength(1); j++)
                        {
                            num += " " + postizo[i, j];
                        }
                    }
                    for (int i = 0; i < postizo2.Length; i++)
                    {
                        cadena += " " + postizo2[i] + "\n";
                    }
                    d.Rows[0].Cells[celda].Value = num;
                    d.Rows[1].Cells[celda].Value = cadena;
                    cadena = "";
                    num    = "";
                    celda++;
                    auxi = auxi.Derecha;
                } while (auxi != noddoble);
            }
        }
Ejemplo n.º 3
0
 public ListaDoble()
 {
     noddoble = null;
 }