Untitled
unknown
plain_text
4 years ago
2.9 kB
5
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...