public T Eliminar(T pDato) { NodoL <T> temp = this.Cabeza, anterior = this.Cabeza; int longit = this.GetTamanio(); int rta; for (int i = 0; i < this.GetTamanio(); i++) { rta = Comparable.GetInstancia().Compare(Cabeza.GetInfo(), pDato); if (rta == 0 && i == 0) { this.Cabeza = temp.GetSig(); longit = longit - 1; this.Tamanio = longit; } rta = Comparable.GetInstancia().Compare(temp.GetInfo(), pDato); if (rta == 0 && i > 0) { anterior.SetSig(temp.GetSig()); longit = longit - 1; this.Tamanio = longit; } anterior = temp; temp = temp.GetSig(); } return(default(T)); }
public NodoL <T> ElimiAlFinal() { NodoL <T> aux, eliminado = null; int longt = this.GetTamanio(); if (longt > 0) { if (longt == 1) { this.Cabeza = null; } else { aux = this.Cabeza; bool bandera = true; while (bandera) { if (aux.GetSig().GetSig() == null) { eliminado = aux.GetSig(); aux.SetSig(null); bandera = false; break; } aux = aux.GetSig(); } } longt = longt - 1; this.Tamanio = longt; } return(eliminado); }
public bool EnColar(NodoL <T> pNodo) { bool result = false; NodoL <T> aux; pNodo.SetSig(null); if (this.EsVacia() || this.Tamanio == 0) { this.Inicio = pNodo; result = true; } else { aux = this.Inicio; bool bandera = true; while (bandera) { if (aux.GetSig() == null) { aux.SetSig(pNodo); result = true; bandera = false; } aux = aux.GetSig(); } } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public T Eliminar(int i) { try { NodoL <T> x; if (i == 0) { x = this.Cabeza.GetSig(); this.Cabeza.SetSig(x.GetSig()); this.Cabeza.GetSig().SetAnt(this.Cabeza); x.SetSig(null); x.SetAnt(null); this.Tamanio--; return(x.GetInfo()); } x = this.GetPos(i - 1); if (x == null) { return(default(T)); } NodoL <T> y = x.GetSig(); x.SetSig(y.GetSig()); y.GetSig().SetAnt(x); y.SetSig(null); y.SetAnt(null); this.Tamanio--; return(y.GetInfo()); } catch (Exception ex) { throw ex; } return(default(T)); }
public Cola() { this.Inicio = new NodoL <T>(); this.Inicio.SetSig(null); Inicio.SetAnt(Inicio); this.Tamanio = 0; }
public bool EnColar(T pDato) { bool result = false; NodoL <T> newNode = new NodoL <T>(pDato, null), aux; if (this.EsVacia() || this.Tamanio == 0) { this.Inicio = newNode; result = true; } else { aux = this.Inicio; bool bandera = true; while (bandera) { if (aux.GetSig() == null) { aux.SetSig(newNode); result = true; bandera = false; } aux = aux.GetSig(); } } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public void Apilar(T info) { if (this.EsVacia()) { this.Tope = new NodoL <T>(info, null); } else { this.Tope = new NodoL <T>(info, this.Tope); } this.Tamanio++; }
public T Next() { if (!this.HasNext()) { Console.WriteLine("No hay mas elementos"); return(default(T)); } NodoL <T> nodoActual = Nodo; Nodo = Nodo.GetSig(); return(nodoActual.GetInfo()); }
private bool Enlazar(NodoL <T> cabeza, Lista <T> lista) { bool result = false; if (cabeza.GetSig() is null) { cabeza.SetSig(lista.GetCabeza()); result = true; } else { result = Enlazar(cabeza.GetSig(), lista); } return(result); }
public T DeColar() { if (this.EsVacia()) { return(default(T)); } NodoL <T> x = this.Inicio.GetSig(); this.Inicio.SetSig(x.GetSig()); x.GetSig().SetAnt(Inicio); x.SetSig(null); x.SetAnt(null); this.Tamanio--; return(x.GetInfo()); }
public Object[] AVector() { if (this.EsVacia()) { return(null); } Object[] vector = new Object[this.GetTamanio()]; NodoL <T> actual = this.Cabeza; for (int i = 0; i < this.GetTamanio(); i++) { vector[i] = actual; actual = actual.GetSig(); } return(vector); }
public void Apilar(NodoL <T> pNodo) { if (this.EsVacia()) { this.Tope = pNodo; } else { pNodo.SetSig(this.Tope); this.Tope = pNodo; } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; }
public T Desapilar() { if (this.EsVacia()) { return(default(T)); } NodoL <T> x = this.Tope; this.Tope = Tope.GetSig(); this.Tamanio--; if (Tamanio == 0) { this.Tope = null; } return(x.GetInfo()); }
public void Set(int i, T dato) { try { NodoL <T> t = this.GetPos(i); if (t == null) { return; } t.SetInfo(dato); } catch (Exception e) { Console.WriteLine(e.Message); } }
private NodoL <T> GetPos(int i) { if (i < 0 || i >= this.GetTamanio()) { Console.WriteLine("Error indice no valido en una Lista Circular!"); return(null); } else { NodoL <T> x = this.Tope.GetSig(); for (; i-- > 0; x = x.GetSig()) { return(x); } } return(null); }
public T Get(int i) { try { NodoL <T> x = this.GetPos(i); if (x == null) { return(default(T)); } return(x.GetInfo()); } catch (Exception e) { Console.WriteLine(e.Message); } return(default(T)); }
private NodoL <T> GetPos(int i) { if (i < 0 || i >= this.GetTamanio()) { Console.WriteLine("Error indice no valido en una Lista Circular!"); return(null); } else { NodoL <T> x = this.Cabeza; for (int j = 0; j < i && x.GetSig() != null; j++) { x = x.GetSig(); } return(x); } }
public int GetIndice(T dato) { int i = -1; if (Cabeza.GetSig() is null) { return(-1); } for (NodoL <T> x = this.Cabeza.GetSig(); x != this.Cabeza && x != null; x = x.GetSig()) { if (x.GetInfo().Equals(dato)) { return(i); } i++; } return(-1); }
public bool InsertarAlFinal(T pDato) { bool result = false; NodoL <T> newNode = new NodoL <T>(pDato), aux; newNode.SetSig(null); if (this.EsVacia()) { this.Cabeza = newNode; result = true; } else { int rta = Comparable.GetInstancia().Compare(this.Cabeza.GetInfo(), 0); if (rta == 0 && this.Cabeza.GetSig() == null && this.Tamanio == 0) { this.Cabeza = newNode; result = true; } else { aux = this.Cabeza; bool bandera = true; while (bandera) { if (aux.GetSig() == null) { aux.SetSig(newNode); result = true; bandera = false; } aux = aux.GetSig(); } } } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public bool InsertarAlInicio(T pDato) { bool result = false; NodoL <T> newNode = new NodoL <T>(pDato); if (this.EsVacia()) { this.Cabeza = newNode; result = true; } else { newNode.SetSig(this.Cabeza); this.Cabeza = newNode; result = true; } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public bool InsertarAlInicio(NodoL <T> pNodo) { bool result = false; if (this.EsVacia()) { pNodo.SetSig(null); this.Cabeza = pNodo; result = true; } else { pNodo.SetSig(this.Cabeza); this.Cabeza = pNodo; result = true; } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public bool InsertarOrdenado(T pDato) { bool result = false; NodoL <T> newNode = new NodoL <T>(pDato, null); if (this.EsVacia()) { this.Cabeza = newNode; result = true; } else { NodoL <T> temp = Cabeza; int rta = Comparable.GetInstancia().Compare(Cabeza.GetInfo(), pDato); if (rta == 1) { newNode.SetSig(Cabeza); this.Cabeza = newNode; result = true; } else { while ((temp.GetSig() != null) && (Comparable.GetInstancia().Compare(temp.GetSig().GetInfo(), pDato) < 0)) { temp = temp.GetSig(); } newNode.SetSig(temp.GetSig()); temp.SetSig(newNode); result = true; } } int longt = this.GetTamanio(); longt = longt + 1; this.Tamanio = longt; return(result); }
public Iterador(NodoL <T> posicion) { this.Nodo = posicion; }
public Pila() { this.Tope = null; this.Tamanio = 0; }
public void Vaciar() { this.Tope = null; this.Tamanio = 0; }
public void SetInicio(NodoL <T> ini) { this.Inicio = ini; }
public Lista() { this.Cabeza = null; }
public Lista(T pPato) { this.Cabeza = new NodoL <T>(pPato); this.Cabeza.SetSig(null); }