Veamos la demo de la lista completa
A continuación veremos los códigos empleados para la realización de una lista que podemos estarle añadiendo datos.
En esta lista ingresaremos números en diferentes ordenes podemos ingresarlos al final o podemos ingresarlos al inicio de la lista todo depende de nuestra imaginación, también podremos eliminar elementos de ella tanto de el final o de una posición en especifica.
Tomando en cuenta que anteriormente se creo la parte de los nodos retomaremos los mismos códigos utilizados en el post anterior:
En esta lista ingresaremos números en diferentes ordenes podemos ingresarlos al final o podemos ingresarlos al inicio de la lista todo depende de nuestra imaginación, también podremos eliminar elementos de ella tanto de el final o de una posición en especifica.
Tomando en cuenta que anteriormente se creo la parte de los nodos retomaremos los mismos códigos utilizados en el post anterior:
Primero crearemos archivos de clases a uno lo llamaremos nodos y al otro lo llamaremos lista:
En el primero crearemos nuestra estructura de los nodos
En el primero crearemos nuestra estructura de los nodos
package practica_lista;
public class Nodo {
public int dato;
public Nodo siguiente;//puntero de enlace
public Nodo (int d){//Crear un nodo final
this.dato=d;
this.siguiente=null;
}
public Nodo(int d, Nodo n){//Crear un nodo siguiente al inicio de la lista
dato=d;
siguiente=n;//Siguiente sera el inicio
}
}
Luego en la siguiente clase que generamos se crearan todos los elementos desde mostrar los datos hasta eliminar datos de la lista.
Te dejamos la estructura de como ira
package practica_lista;
public class Lista {
//Creacion de dos punteros
//Haciendo referencia al inicio y al final
protected Nodo inicio,fin;
public Lista(){
inicio=null;
fin=null;
}
//Metodo agregar nodo al inicio de la lista
public void agregarInicio(int elemento){
//Crear nodo
inicio=new Nodo(elemento,inicio);
if(fin==null){
fin=inicio;
}
}
//Metodo para vaciar listaç
public boolean estaVacia(){
if(inicio ==null ){
return true;
}else {
return false;
}
}
//Metodo para agregar nodo al final
public void agregarAlFinal(int elemento){
if(!estaVacia()){
fin.siguiente = new Nodo(elemento);
fin=fin.siguiente;
}else{
inicio=fin= new Nodo(elemento);
}
}
//Mostrando datos
public void MostrarLista(){
Nodo recorrer=inicio;
System.out.println("/n");
while(recorrer != null){
System.out.println("["+recorrer.dato+"]");
recorrer=recorrer.siguiente;
}
}
//Metodo para eliminar del inicio
public int borrarDeInicio(){
int elemento = inicio.dato;
if(inicio==fin){
inicio=null;
fin=null;
}else{
inicio=inicio.siguiente;
}
return elemento;
}
//Metodo para borrar del final
public int borrarDelFinal(){
int elemento=fin.dato;
if(inicio==fin){
inicio=fin=null;
}else{
Nodo temporal=inicio;
while(temporal.siguiente !=fin){
temporal = temporal.siguiente;
}
fin=temporal;
fin.siguiente = null;
}
return elemento;
}
//Metodo para eliminar un elemento especifico
public void borrarEspecifico(int elemento){
if(!estaVacia()){
if(inicio==fin && elemento == inicio.dato){
inicio= fin =null;
}else if(elemento==inicio.dato){
inicio=inicio.siguiente;
}else{
Nodo anterior, temporal;
anterior=inicio;
temporal=inicio.siguiente;
while(temporal !=null && temporal.dato !=elemento){
anterior= anterior.siguiente;
temporal=temporal.siguiente;
}
if(temporal!=null){
anterior.siguiente=temporal.siguiente;
if(temporal==fin){
fin=anterior;
}
}
}
}
}
}
Pega este código en tu compilador en el siguiente post te mostramos como imprimir los datos que estamos generando

Comentarios
Publicar un comentario