public void insertarDerecha(int d) { NodoDoble nuevo; if (puntero == null) { nuevo = new NodoDoble(d); puntero = nuevo; izq = nuevo; der = nuevo; } else { if (puntero.Derecha == null) { nuevo = new NodoDoble(d); nuevo.Izquierda = nuevo; puntero.Derecha = nuevo; der = nuevo; } else { nuevo = new NodoDoble(d); nuevo.Izquierda = puntero; nuevo.Derecha = puntero.Derecha; puntero.Derecha.Izquierda = nuevo; puntero.Derecha = nuevo; } } }
public void eliminar() { if (puntero != null) { if (puntero.Derecha == puntero) { puntero = null; } else if (puntero.Izquierda == puntero.Derecha) { puntero = puntero.Derecha; puntero.Izquierda = puntero; puntero.Derecha = puntero; } else { puntero = puntero.Derecha; puntero.Izquierda.Izquierda.Derecha = puntero; puntero.Izquierda = puntero.Izquierda.Izquierda; } dim--; } else { MessageBox.Show("no hay nodos en la lista"); } }
public void dibujar(Control p) { Graphic g = new Graphic(p, 100, 0); NodoDoble aux = izq; while (aux != null) { if (aux == puntero) { g.DibujoNodoDoble(Pens.Orange, aux.Izquierda == null, aux.Derecha == null, aux.dato, 80, 50, 30); } else if (aux == izq) { g.DibujoNodoDoble(Pens.Green, aux.Izquierda == null, aux.Derecha == null, aux.dato, 80, 50, 30); } else if (aux == der) { g.DibujoNodoDoble(Pens.Purple, aux.Izquierda == null, aux.Derecha == null, aux.dato, 80, 50, 30); } else { g.DibujoNodoDoble(Pens.Black, aux.Izquierda == null, aux.Derecha == null, aux.dato, 80, 50, 30); } aux = aux.Derecha; } }
public void insertarIzquierda(int d) { NodoDoble nuevo; if (puntero == null) { //lista circular todos apunta al puntero nuevo = new NodoDoble(d); puntero = nuevo; nuevo.Izquierda = nuevo; nuevo.Derecha = nuevo; } else { if (puntero.Izquierda == puntero) { nuevo = new NodoDoble(d); puntero.Derecha = nuevo; puntero.Izquierda = nuevo; nuevo.Derecha = puntero; nuevo.Izquierda = puntero; } else { nuevo = new NodoDoble(d); nuevo.Derecha = puntero; nuevo.Izquierda = puntero.Izquierda; puntero.Izquierda.Derecha = nuevo; puntero.Izquierda = nuevo; } } dim++; }
public void moverIzquierda() { if (puntero != null) { if (puntero.Izquierda != null) { puntero = puntero.Izquierda; } } else { MessageBox.Show("sin noos en la lista"); } }
public void moverDerecha() { if (puntero != null) { if (puntero.Derecha != null) { puntero = puntero.Derecha; } } else { MessageBox.Show("Sin nodo en la lista"); } }
public void mostrarderizq(DataGridView dg) { dg.Rows.Clear(); dg.Columns.Clear(); dg.ColumnHeadersVisible = false; dg.RowHeadersVisible = false; dg.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dg.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; NodoDoble corre = der; int i = 0; while (corre != null) { DataGridViewColumn dgc = new DataGridViewColumn(new DataGridViewTextBoxCell()); dgc.Name = "c1"; dgc.HeaderText = ""; dg.Columns.Add(dgc); dg.Rows[0].Cells[i].Value = corre.dato; corre = corre.Izquierda; i++; } }
public void eliminar() { if (puntero != null) { if (puntero.Izquierda == null && puntero.Derecha == null) { puntero = null; izq = null; der = null; } else if (puntero.Izquierda == null && puntero.Derecha != null) { izq = puntero.Derecha; puntero = puntero.Derecha; puntero.Izquierda.Derecha = null; puntero.Izquierda = null; } else if (puntero.Derecha == null && puntero.Izquierda != null)//01 { der = puntero.Izquierda; puntero = puntero.Izquierda; puntero.Derecha.Izquierda = null; puntero.Derecha = null; } else if (puntero.Derecha != null && puntero.Izquierda != null)//010 { puntero = puntero.Izquierda; puntero.Derecha.Derecha.Izquierda = puntero; puntero.Derecha = puntero.Derecha.Derecha; } else { MessageBox.Show("no hay nodos en la lista"); } } }
public void Dibujar(Control c) { Graphic g = new Graphic(c, 0, 0); NodoDoble aux = puntero; if (dim >= 1) { int bloque = 360 / dim; for (int i = 0; i < dim; i++) { if (aux == puntero) { g.DibujoNodoCircular(Pens.Orange, 220, bloque, aux.dato); } else { g.DibujoNodoCircular(Pens.Purple, 220, bloque, aux.dato); } aux = aux.Izquierda; } } }
public NodoDoble(int dato) { izquierda = null; d = dato; derecha = null; }
public ListaDoble() { puntero = null; izq = null; der = null; }
public void moverDer() { puntero = puntero.Derecha; }
public void moverIzq() { puntero = puntero.Izquierda; }
public LiostaDobleCircular() { puntero = null; dim = 0; }