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);
}
}