public class acciones
{private static class Nodo
{private int info;
private Nodo nexo;
public Nodo(int dato)
{this.info=dato;
this.nexo=null;}
}
private static Nodo ini1=null,ini2=null,ult1=null,ult2=null;
private static void agre1(int dato)// agrega nodos
{Nodo nuevo =new Nodo(dato);
if (ult1==null)
ini1=nuevo;
else
ult1.nexo=nuevo;
ult1=nuevo;
}
private static void agre2(int dato)
{Nodo nuevo =new Nodo(dato);
if (ult2==null)
ini2=nuevo;
else
ult2.nexo=nuevo;
ult2=nuevo;
}
private static void mostrar1()
{Nodo p;
System.out.print("lista 1 =");
p=ini1;
while(p!=null)
{System.out.print("-" + p.info);
p=p.nexo;
}
System.out.println();
}
private static void mostrar2()
{Nodo p;
System.out.print("lista 2 =");
p=ini2;
while(p!=null)
{System.out.print("-" + p.info);
p=p.nexo;
}
System.out.println();
}
private static void eliminar1(int dato){
Nodo p,q,ant;
p=ini1;
ant=null;
while(p!=null){
q=p.nexo;
if(p.info==dato){
if(ant==null){
ini1=p.nexo;
}
else{
ant.nexo=p.nexo;
}
p=null;
}else{
ant=p;
p=q;
}
}
}
private static void eliminar2(int dato){
Nodo p,q,ant;
p=ini2;
ant=null;
while(p!=null){
q=p.nexo;
if(p.info==dato){
if(ant==null){
ini2=p.nexo;
}
else{
ant.nexo=p.nexo;
}
p=null;
}else{
ant=p;
p=q;
}
}
}
private static void modifica1()//saca los pares ed lista1 y los mete en lista2
{Nodo p1,q,ant1;
p1=ini1;
while(p1!=null)
{q=p1.nexo;
if(p1.info%2==0)
{agre2(p1.info);
eliminar1(p1.info);
}
p1=q;
}
}
private static void modifica2()//saca los pares ed lista1 y los mete en lista2
{Nodo p2,q,ant2;
p2=ini2;
while(p2!=null)
{q=p2.nexo;
if(p2.info%2==1)
{agre1(p2.info);
eliminar2(p2.info);
}
p2=q;
}
}
public static void main(String [] args)
{int i, l1=0,l2=0,dato;
l1=(int)(Math.random()*10);
for(i=0;i<l1;i++)
{dato=10+(int)(Math.random()*90);
agre1(dato);
}
l2=(int)(Math.random()*10);
for(i=0;i<l2;i++)
{dato=10+(int)(Math.random()*90);
agre2(dato);
}
System.out.println("listas generadas al azar");
mostrar1();
mostrar2();
System.out.println("LISTA 1 sin nodos pares y estos agregados a lista2");
modifica1();
mostrar1();
mostrar2();
System.out.println("LISTA 2 sin nodos impares y estos agregados a lista 1");
modifica2();
mostrar1();
mostrar2();
}
}
Saludos ojala les sirva el ejemplo luego subire otros.
