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"); }
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); } }
public ListaDoble() { noddoble = null; }