0% encontró este documento útil (0 votos)
87 vistas5 páginas

Implementación de Lista Simple en Java

Este documento define una clase ListaSimple que implementa una lista simple enlazada con nodos. La clase contiene métodos para insertar y eliminar nodos en diferentes posiciones de la lista, buscar un nodo con un valor X, vaciar la lista y imprimir la lista. El método main muestra un menú para probar los diferentes métodos en un bucle.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
87 vistas5 páginas

Implementación de Lista Simple en Java

Este documento define una clase ListaSimple que implementa una lista simple enlazada con nodos. La clase contiene métodos para insertar y eliminar nodos en diferentes posiciones de la lista, buscar un nodo con un valor X, vaciar la lista y imprimir la lista. El método main muestra un menú para probar los diferentes métodos en un bucle.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

import [Link].

JOptionPane;
/**
*
* @author Hatake
*/
public class ListaSimple {
Nodo inicio;
public ListaSimple(){
inicio=null;
}
public void insertarInicio(){
Nodo nuevo = new Nodo();
if(inicio==null){
inicio=nuevo;
}
else{
[Link]=inicio;
inicio=nuevo;
}
}
public void insertarAlFinal(){
Nodo nuevo=new Nodo();
if(inicio==null){
inicio=nuevo;
}else{
Nodo i=inicio;
while([Link]!=null){
i=[Link];
}
[Link]=nuevo;
}
}
public void insertarDerX(){
if(inicio==null){
[Link](null, "La lista est vaca");
}else{
float x;
x=[Link]([Link]("Escriba X"));
Nodo i=inicio;
while([Link]!=null&&[Link]!=x){
i=[Link];
}
if([Link]==null&&[Link]==x){
Nodo n=new Nodo();
[Link]=[Link];
[Link]=n;
}
if([Link]==null&&[Link]!=x){
[Link](null, "No se encontr el dato");
}
if([Link]!=null&&[Link]==x){
Nodo n=new Nodo();
[Link]=[Link];
[Link]=n;
}
}
}
public void eliminarInicio(){
if(inicio==null){

[Link](null, "La lista est vaca");


}else{
[Link](null, "El nmero a eliminar en el inicio
es "+[Link]);
inicio=[Link];
}
}
public void eliminarFinal(){
if(inicio==null){
[Link](null, "La lista est vaca");
}else{
Nodo i=inicio;
Nodo j=inicio;
while([Link]!=null){
j=i;
i=[Link];
}
[Link](null, "El dato a eliminar al final es
"+[Link]);
[Link]=null;
}
}
public void insertarIzqX(){
float x;
if(inicio==null){
[Link](null, "La lista est vaca");
}else{
x=[Link]([Link]("Escriba el valor de
X"));
Nodo i=inicio;
if([Link]==x){
Nodo n=new Nodo();
[Link]=inicio;
inicio=n;
}else{
while([Link]!=null&&[Link]!=x){
i=[Link];
}
if([Link]!=null&&[Link]==x){
Nodo n=new Nodo();
[Link]=[Link];
[Link]=n;
}
if([Link]==null){
[Link](null, "El valor no existe en l
a lista");
}
}
}
}
public void eliminarDerX(){
float x;
if(inicio==null){
[Link](null, "La Lista est vaca");
}else{
x=[Link]([Link]("Inserte el dato a bu
scar"));
Nodo i=inicio;
Nodo j=inicio;
if([Link]==x){

if([Link]!=null){
[Link](null, "El dato a eliminar de la li
sta es: "+[Link]);
i=[Link];
[Link]=[Link];
[Link]=null;
}else{
[Link](null, "No Hay dato a eliminar"
);
}
}else{
while([Link]!=null&&[Link]!=x){
j=i;
i=[Link];
}
if([Link]==null){
if([Link]==x){
[Link](null, "No existe dato a elimin
ar");
}
}
if([Link]==x){
[Link](null, "El dato a eliminar es: "+i.
dato);
[Link]=[Link];
[Link]=null;
}
if([Link]!=x&&[Link]!=x){
[Link](null, "No se encontr el dato");
}
}
}
}
public void eliminarIzqX(){
float x;
Nodo i=inicio;
Nodo j=inicio;
Nodo k=inicio;
x=[Link]([Link]("Escriba el numero que de
sea buscar"));
if(inicio==null){
[Link](null, "La lista est vaca");
}else{
if([Link]==x){
[Link](null, "No hay dato para eliminar")
;
}else{
while([Link]!=null&&[Link]!=x){
k=j;
j=i;
i=[Link];
}
if([Link]==null&&[Link]==x){
[Link]=[Link];
[Link]=null;
}
if([Link]!=null&&[Link]==x){
[Link]=[Link];
[Link]=null;

}
if([Link]==null&&[Link]!=x){
[Link](null, "No se pudo localizar el dat
o");
}
}
}
}
public void vaciarLista(){
inicio=null;
}
public void buscarX(){
int i=0;
float x;
Nodo j=inicio;
if(inicio==null){
[Link](null, "La lista est vaca");
}else{
x=[Link]([Link]("Escriba el numero qu
e desea buscar"));
if([Link]==x){
[Link](null, "El dato se encuentra en la
posicin 0");
}else{
while([Link]!=null&&[Link]!=x){
j=[Link];
i++;
}
if([Link]==null&&[Link]==x){
[Link](null, "El dato se encuentra en
la posicin: "+i);
}
if([Link]!=null&&[Link]==x){
[Link](null, "El dato se encuentra en
la posicin: "+i);
}
if([Link]==null&&[Link]!=x){
[Link](null, "El dato no se encuentra
en la lista");
}
}
}
}
public void imprimir(){
Nodo i = inicio;
if(inicio!=null){
while(i!=null){
[Link](" "+[Link]+" ");
i=[Link];
}
}else{
[Link]("La lista se encuentra vaca.");
}
}
public static void main(String[] args) {
ListaSimple ls= new ListaSimple();
int v;
do{v=[Link]([Link]("\t Lista simple! \[Link] al Inicio \n2.- Insertar al Final\n3.- Insertar a la Derecha\n4.- Inse
rtar a la Izquierda"

+"\n5.- Eliminar al Inicio \n6.- Eliminar al Final \n7.- Elimina


r a la Derecha \n8.- Eliminar a la Izquierda\n9.- Buscar x \n10.- Vaciar lista \
n11.- Imprimir \n12.- Salir"));
switch( v ){
case 1:
[Link]();
[Link]();
break;
case 2:
[Link]();
[Link]();
break;
case 3:
[Link]();
[Link]();
break;
case 4:
[Link]();
[Link]();
break;
case 5:
[Link]();
[Link]();
break;
case 6:
[Link]();
[Link]();
break;
case 7:
[Link]();
[Link]();
break;
case 8:
[Link]();
[Link]();
break;
case 9:
[Link]();
[Link]();
break;
case 10:
[Link]();
[Link]();
break;
case 11:
[Link]();
[Link]();
break;
case 12:
[Link](null,"Gracias!");
break;
}
}while(v!=12);
}
}

También podría gustarte