Untitled
unknown
plain_text
3 years ago
2.9 kB
3
Indexable
public class TListaGenerica<T> { private TNodo<T> Cabeza; public <T>TListaGenerica(){ Cabeza=null; } public void setCabeza(TNodo<T> Cab){ Cabeza=Cab; } public TNodo<T> getCabeza(){ return Cabeza; } public TNodo<T> Ultimo(){ TNodo Tem; Tem=Cabeza; while(Tem !=null){ if(Tem.getSiguiente()==null){ break; }else{ Tem=Tem.getSiguiente(); } } return Tem; } public void Agregar(TNodo<T> Nod){ if(Cabeza==null){ Cabeza=Nod; }else{ Ultimo().setSiguiente(Nod); } //Nod.setSiguiente(null); } public void Insertar(TNodo<T> Nod){ if(Cabeza == null){ Nod.setSiguiente(null); Cabeza=Nod; }else{ Nod.setSiguiente(Cabeza); Cabeza=Nod; } } public TNodo<T> Anterior(TNodo<T> Nod){ TNodo<T> Ant; TNodo Tem; Ant=null; Tem=Cabeza; while(Tem!=null){ if(Tem.getSiguiente()==Nod){ break; }else{ Tem=Tem.getSiguiente(); } } return Ant; } public void Eliminar(TNodo<T> Nod){ TNodo Ant; if(Cabeza== Nod){ Cabeza = Cabeza.getSiguiente(); }else{ Ant=Anterior(Nod); Ant.setSiguiente(Nod.getSiguiente()); } } public TNodo<T> NodoPos(int Pos){ int p; TNodo<T> Nod; p=0; Nod=Cabeza; while(Nod!=null){ if(p==Pos){ break; }else{ p++; Nod=Nod.getSiguiente(); } } return Nod; } public void LimpiarLista(){ while(Cabeza != null){ Eliminar(Cabeza); } } public int ContarNodos(){ int cant; TNodo tem; cant=0; tem=Cabeza; while(tem!=null){ cant=cant+1; tem=tem.getSiguiente(); } return cant; } } ============================================================= public class TNodo<T> { private T Datos; private TNodo<T> Siguiente; public <T>TNodo(){ Datos=null; Siguiente=null; } public void setDatos(T Dat){ Datos= Dat; } public void setSiguiente(TNodo<T> Sig){ Siguiente=Sig; } public T getDatos(){ return Datos; } public TNodo<T> getSiguiente(){ return Siguiente; } }
Editor is loading...