Está en la página 1de 9

Asignatura Datos del alumno Fecha

Apellidos: Remolina Alvarez


Estructura de Datos 15/03/2021
Nombre: Elio Andres

Laboratorio: Implementación de una lista


doblemente enlazada

Descripción

En esta actividad debes implementar de forma individual una lista doblemente


enlazada en Java. La lista implementada debe cumplir los siguientes requisitos:

 Debe ser una lista tipada para almacenar elementos de tipo String, es decir, solo
se almacenarán cadenas de caracteres.

 La funcionalidad que se debe incluir es:


• Contar el número de elementos que tiene la lista.

• Mostrar el elemento que hay en una posición concreta de la lista.


• Comprobar si un elemento está en la lista.

• Imprimir los elementos que contiene la lista.


• Insertar un elemento nuevo.

• Sacar un elemento concreto de la lista.


• Sacar el elemento que ocupa una posición en la lista.

• Concatenar dos listas.


• Reemplazar un elemento de la lista.

 Se debe incluir una clase que muestre el funcionamiento de la lista


© Universidad Internacional de La Rioja (UNIR)
implementada sobre un problema real, utilizando todos los métodos
implementados y mostrando por consola que el funcionamiento es correcto.

1
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

No debes usar códigos ya creados, vistos en la red. El profesor se reserva el


derecho de citar a cualquier estudiante a defender sus trabajos si lo considera
oportuno.

Entrega

Además del código, a modo de documentación técnica de la aplicación, el


estudiante debe entregar un documento donde explique las decisiones que ha
tomado para la implementación de la clase.

© Universidad Internacional de La Rioja (UNIR)

2
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

Desarrollo de la Actividad

 El problema planteado es la atención de 4 cajas hacia el público.


 La verdad hice lo que pude, lo intenté en el poco conocimiento que tengo en
programación, profesro

La construcción del código esta correcto

El código construido es

 Pestaña del constructor

package lista.doblemente.enlazada;
import static java.util.Collections.list;
public class ListaDoblementeEnlazada {
private Nodo1 inicio;
private Nodo1 fin;
public ListaDoblementeEnlazada()
{
inicio=null;
fin=null;
}
//delista
© Universidad Internacional vacia
La Rioja (UNIR)

public boolean Vacia (){


return inicio==null;
}
// insertar elemento

3
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

public void insertarInicio (String dato)


{
if(inicio==null)
{
inicio = new Nodo1 (dato,null,null);
fin = inicio;
}
else
{
Nodo1 nuevo = new Nodo1 (dato,null,inicio);
inicio.setAnterior(nuevo);
inicio = nuevo;
}
}

public void insertarFin(String dato)


{
if(inicio== null)
{
fin= new Nodo1 (dato,null,null);
inicio=fin;
}
else
{
Nodo1
© Universidad Internacional de La nuevo =
Rioja (UNIR) new Nodo1 (dato,fin,inicio);
fin.setAnterior(nuevo);
fin=nuevo;
}
}

4
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

//Sacar un elemento concreto de la lista


public String ExtraerInicio ()
{
String dato = inicio.getDato();
inicio=inicio.getSiguiente();
if(inicio != null)
{
inicio.setAnterior(null);
}
else
{
fin=null;
}
return dato;
}

public String ExtraerFin ()


{
String dato = fin.getDato();
fin=fin.getAnterior();
if(fin != null)
{
fin.setSiguiente(null);
© Universidad Internacional de La Rioja (UNIR)

}
else
{
inicio=null;

5
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

}
return dato;
}
//Mostar e Imprimir los elementos que contiene la lista.
public void MostrarAdelante()
{
Nodo1 temp = inicio;
while(temp !=null);
{
System.out.println(temp.getDato());
temp= temp.getSiguiente();
}
}
public void MostrarRegreso()
{
Nodo1 temp = inicio;
while(temp !=null);
{
System.out.println(temp.getDato());
temp= temp.getAnterior();
}
}

//Comprobar si un elemento está en la lista


public
© Universidad Internacional Boolean
de La buscar(String
Rioja (UNIR) dato)
{
Nodo1 temp = inicio;
while(temp != null);
{

6
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

if (temp.getDato().equals(dato))
{
return true;
}
temp = temp.getSiguiente();
}
return false;
}

 Pestaña Nodo1

public class Nodo1 {

private String dato;


Nodo1 siguiente, anterior;
// cuando no hay nodos
public Nodo1 (String dato){
this (dato,null,null);
}
// para cuando hay nodos
public Nodo1 (String dato, Nodo1 sig, Nodo1 ant ) {
dato=dato;
siguiente=sig;
anterior=ant;
© Universidad Internacional de La Rioja (UNIR)

}
public String getDato() {
return dato;
}

7
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

public Nodo1 getSiguiente() {


return siguiente;
}
public Nodo1 getAnterior() {
return anterior;
}
public void setDato(String dato) {
this.dato = dato;
}
public void setSiguiente(Nodo1 siguiente) {
this.siguiente = siguiente;
}
public void setAnterior(Nodo1 anterior) {
this.anterior = anterior;
}
}

 Main
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package lista.doblemente.enlazada;
© Universidad Internacional de La Rioja (UNIR)

/**
*
* @author eremolina
*/

8
Tema 3. Actividades
Asignatura Datos del alumno Fecha
Apellidos: Remolina Alvarez
Estructura de Datos 15/03/2021
Nombre: Elio Andres

public class Principal {


public static void main (String[] args) {

ListaDoblementeEnlazada ld = new ListaDoblementeEnlazada();


ld.insertarInicio("Caja 1");
ld.insertarFin("Caja 2");
ld.insertarFin("Caja 3");
ld.insertarFin("Caja 4");

ld.MostrarAdelante();
ld.MostrarRegreso();

© Universidad Internacional de La Rioja (UNIR)

9
Tema 3. Actividades

También podría gustarte