Viernes 8 de Noviembre de 2024, 02:06
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Listas doblemente enlazadas
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Listas doblemente enlazadas (Leído 5641 veces)
_King_
Nuevo Miembro
Mensajes: 6
Listas doblemente enlazadas
«
en:
Martes 18 de Noviembre de 2008, 09:20 »
0
Hola a todos soy nuevo por aquí y quisiera saber si alguien me puede ayudar a realizar un programa de listas doblemente enlazadas que inserte al final y se ordenen con el método shaker sort, tengo estas condiciones para el códigos
for(i=inicio;i!=null;i=i.sig2)
for(i=q;i!=null;i=i.sig1)
saludos y gracias por su ayuda
Tweet
manix
Miembro MUY activo
Mensajes: 203
Nacionalidad:
Re: Listas doblemente enlazadas
«
Respuesta #1 en:
Martes 18 de Noviembre de 2008, 09:30 »
0
hola
sabes, ese tema bastante tratado aca, si usas el buscador te vas a encontrar hasta un tutorial, dale y veras que encontraras resultados
saludos
_King_
Nuevo Miembro
Mensajes: 6
Re: Listas doblemente enlazadas
«
Respuesta #2 en:
Jueves 20 de Noviembre de 2008, 21:51 »
0
hola
si me podrías ayudar a buscarlo por que la verdad ya me la pase buscando y no encontré lo que necesito, tampoco el tutoría.
Lo que necesito es:
--Inserte al frente
--Inserte al final
--Eliminación
--Consulta de derecha a izquierda y de izquierda a derecha
--Que se ordenen con el método Shaker sort
O si me podrias ayudar a programarlo por mi cuenta
Saludos y Gracias
manix
Miembro MUY activo
Mensajes: 203
Nacionalidad:
Re: Listas doblemente enlazadas
«
Respuesta #3 en:
Viernes 21 de Noviembre de 2008, 02:47 »
0
hola
mejor te ayudamos con mucho gusto, puedes poner aca el el codigo que sea conveniente y que el que llevas hasta ahora.
_King_
Nuevo Miembro
Mensajes: 6
Re: Listas doblemente enlazadas
«
Respuesta #4 en:
Viernes 21 de Noviembre de 2008, 09:44 »
0
Hola
Ya tengo el código que necesitaba solo me hace falta una cosa pero no logro ponerle el método se Shaker sort
, si me ayudas a ponérselo estaría muy agradecido
Saludos
Código: Text
import java.util.*;
import java.io.*;
import javax.swing.*;
class Lista2
{
private Nodo cabeza;
private Nodo q;
private Nodo dir2=null;
private Nodo dir=null;
Lista2()
{
cabeza=null;
}
public boolean vacia()
{
return(cabeza ==null);
}
public void alfrente(Object info)
{
if ( vacia())
{
Nodo p= new Nodo(info,cabeza,dir2);
cabeza=null;
p.sig=null;
cabeza=p;
q=p;
}
else
{
Nodo p=new Nodo(info,null,dir2);
p.sig2=cabeza;
cabeza.sig=p;
p.sig=null;
cabeza=p;
}
}
public void eliminar(Object dato)
{
Nodo f,l;
boolean ban;
if(cabeza==null)
JOptionPane.showMessageDialog(null,"La lista esta vacia","Menu",JOptionPane.INFORMATION_MESSAGE);
else
{
ban=false;
l=null;
f=cabeza;
while(ban==false && f!=null)
if(f.info==dato)
if(l==null)
{
cabeza=cabeza.sig2;
cabeza.sig=null;
//f=null;
ban=true;
}
else
{
if(f.sig2==null)
{
q=l;
l.sig2=null;
//f=null;
ban=true;
}
else
{
l.sig2=f.sig2;
//f=null;
f.sig=l;
ban=true;
}
}
}
}
public void alFinal(Object info)
{
if (vacia())
{
Nodo p=new Nodo(info, cabeza, dir2);
cabeza=p;
q=p;
}
else
{
Nodo p=new Nodo(info,null,dir2);
q.sig2=p;
p.sig2=null;
p.sig=q;
q=p;
}
}
public void ver()
{
Nodo i;
JTextArea AreaSalida= new JTextArea();
String s="";
for (i=cabeza;i!=null; i=i.sig2)
{
s+="" +i.info+ " ,";
AreaSalida.setText(s);
JOptionPane.showMessageDialog(null,AreaSalida,"Izq-Der = "+s,JOptionPane.INFORMATION_MESSAGE );
i=i.sig2;
}
for (i=q; i!=null; i=i.sig)
{
JTextArea AreaSalida2= new JTextArea();
String s2="";
s2+="" +i.info+" ,";
AreaSalida2.setText(s2);
JOptionPane.showMessageDialog(null,AreaSalida2, "Der-Izqu = "+s2,JOptionPane.INFORMATION_MESSAGE );
i=i.sig;
}
}
}
class Nodo
{
public Object info;
public Nodo sig;
public Nodo sig2;
public Nodo(Object dato, Nodo dir, Nodo dir2)
{
info=dato;
sig=dir;
sig2=dir2;
}
}
class ultima2
{
public static void main(String[] args)
{
Lista2 listita=new Lista2();
int n;
int i=2;
while(i!=-2)
{
int op=Integer.parseInt(JOptionPane.showInputDialog(null,"1.- Insertar al frente.n2.- Insertar al final.n3.- Eliminar.n4.- Vern5.- Salir.","Menu",JOptionPane.INFORMATION_MESSAGE));
switch(op)
{
case 1:
n=Integer.parseInt(JOptionPane.showInputDialog(null,"Núnero a insertar","Menu",JOptionPane.PLAIN_MESSAGE));
listita.alfrente(n);
break;
case 2:
n=Integer.parseInt(JOptionPane.showInputDialog(null,"Número a insertar","Menu",JOptionPane.PLAIN_MESSAGE));
listita.alFinal(n);
break;
case 3:
n=Integer.parseInt(JOptionPane.showInputDialog(null,"Número a Eliminar","Menu",JOptionPane.PLAIN_MESSAGE));
listita.eliminar(n);
listita.ver();
break;
case 4:
n=Integer.parseInt(JOptionPane.showInputDialog(null,"1 = izq-der y 2 = der-izq","Menu",JOptionPane.PLAIN_MESSAGE));
listita.ver();
break;
case 5:
System.exit(0);
break;
}
}
}
}
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
Java
(Moderador:
arielb
) »
Listas doblemente enlazadas