Como implementar clase nodo y doubleLinkedList java
Enviado por David Guillermo Fonseca Ramirez • 30 de Agosto de 2018 • Trabajo • 569 Palabras (3 Páginas) • 145 Visitas
public class Nodo<T> {
public Nodo<T> siguiente;
public T dato;
public Nodo( T pdato) {
siguiente = null;
dato = pdato;
}
public void cambiarSiguiente(Nodo<T> pSiguiente)
{
siguiente=pSiguiente;
}
public T darElemento()
{
return dato;
}
}
public class DoubleLinkedList<T> implements IDoublyLinkedList<T>{
private int numeroItems;
private Nodo<T> raiz;
private Nodo<T> ultimo;
public DoubleLinkedList()
{
raiz=null;
ultimo=null;
numeroItems=0;
}
public void agregar(T valor) {
if(raiz==null) {
raiz=new Nodo<T>(valor);
ultimo=raiz;
}
else
{
Nodo<T> nuevo= new Nodo<T>(valor);
nuevo.cambiarSiguiente(raiz);
raiz=nuevo;
}
}
public boolean estaVacia() {
return numeroItems == 0;
}
public T obtener(int indice) {
if (indice < 0 || indice >= numeroItems) {
throw new IllegalArgumentException("Error");
}
if (indice == 0) {
return obtenerPrimero();
}
if (indice == numeroItems - 1) {
return obtenerUltimo();
}
return buscarAdelante(indice).dato;
}
public int obtenerNumeroItems() {
return numeroItems;
}
public T obtenerPrimero() {
if (raiz == null) {
throw new IllegalArgumentException("No hay items en la lista.");
}
return raiz.dato;
}
public T obtenerUltimo() {
if (ultimo == null) {
throw new IllegalArgumentException("No hay items en la lista.");
}
return ultimo.dato;
}
@Override
public Nodo<T> buscarAdelante(int indice) {
int ultimoIndice = 0;
Nodo<T> buscado = raiz;
while (ultimoIndice != indice) {
buscado = buscado.siguiente;
ultimoIndice++;
}
return buscado;
}
...