Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

ayuda con programa de java

joaquinGpe99

Bovino adicto
Desde
2 Sep 2010
Mensajes
666
bueno resulta que la profa nos dejo una tarea que es

lista doblemente enlazadas suma de 2 polinomios ordenados

el caso es que a puros libros, quemar pestañas, red bull, cafe, desvelo, y claro dejar el napb u.u logre hacer lo primero lista doblemente enlazadas, pero lo que no puedo hacer es la suma de 2 polinomios ordenados agradeceria al que me ayude

les agrego el codigo que hasta ahora tengo:

import javax.swing.*;
public class lisdob
{
public static void main (String arg[])
{
ListaDoble ListaD = new ListaDoble();
int Dato = 0;
int op;
do
{
op=Integer.parseInt(JOptionPane.showInputDialog(null,
"1 imprimer inicio al final \n" +
"2 Imprimir Final a Inicio\n" +
"3 Agregar Elemento al Principio de la Lista\n" +
"4 Agregar Elemento al final de la Lista\n" +
"5 Eliminar_Referencia\n" +
"6 salir\n"));
//---- Elegir opcion ---\\
switch (op) {

case 1:
ListaD.ImprimirNodo_Next();
break;

case 2:
ListaD.ImprimirNodo_Prev();
break;

case 3:
int x=1;
while(x!=2)
{
Dato=Integer.parseInt(JOptionPane.showInputDialog(null,"ingresa el dato principio"));
ListaD.IntroducirDato_Principio(Dato);
//ListaD.ImprimirNodo_Next();
x=Integer.parseInt(JOptionPane.showInputDialog(null,"Agregar un dato mas\n 1.- Si\n 2.- No"));
}


break;
case 4:
int y=1;
while(y!=2)
{
Dato=Integer.parseInt(JOptionPane.showInputDialog(null,"ingresa el dato al final"));
ListaD.IntroducirDato_Final(Dato);
//ListaD.ImprimirNodo_Prev();
y=Integer.parseInt(JOptionPane.showInputDialog(null,"Agregar un dato mas\n 1.- Si\n 2.- No"));
}
break;
case 5:
Dato=Integer.parseInt(JOptionPane.showInputDialog(null,"ingresa el dato a eliminar"));;
ListaD.Eliminar_Referencia(Dato);
break;
case 6:
JOptionPane.showMessageDialog(null,"*****************By:*************\n joaquingpe todos los derechor reservados");
op=6;
break;

}
} while (op!=6);
}
}

class Nodo{

public int Dato;
public Nodo Next;
public Nodo Prev;
public Nodo(int Dato){
this.Dato = Dato;
Next = null;
Prev = null;
}
}
class ListaDoble {
public Nodo Lista ;
public ListaDoble () {
Lista = null;
}
public void IntroducirDato_Principio(int Dato) {
Recorrer_Lista_Prev ();
Nodo Nuevo = new Nodo(Dato);
if ( Lista == null ) {
Lista = Nuevo;
} else {
Nuevo.Next = Lista;
Lista.Prev = Nuevo;
}
}
public void IntroducirDato_Final(int Dato) {
Recorrer_Lista_Next ();
Nodo Nuevo = new Nodo(Dato);
if ( Lista == null ) {
Lista = Nuevo;
} else {
Nuevo.Prev = Lista;
Lista.Next = Nuevo;
}
}
public void ImprimirNodo_Next() {
Recorrer_Lista_Prev();
String cad="";
if (Lista == null ) {
JOptionPane.showMessageDialog(null,"La pila esta vacia!!!");
} else {

int Index = 1;
while (Lista.Next != null) {
//JOptionPane.showMessageDialog(null," "+ Index + " .- " + Lista.Dato);
cad=cad+Index+".-"+ Lista.Dato+"\n";
Lista = Lista.Next;
Index ++;
}
JOptionPane.showMessageDialog(null,""+cad+Index+".-" + Lista.Dato);
// JOptionPane.showMessageDialog(null,"\n");zz

}
}
public void ImprimirNodo_Prev() {
Recorrer_Lista_Next();
String cad="";
if (Lista == null ) {
JOptionPane.showMessageDialog(null,"La pila esta vacia!!!");
} else {

int Index = 1;
while (Lista.Prev != null) {
//JOptionPane.showMessageDialog(null," "+ Index + " .- " + Lista.Dato);
cad=cad+Index+".-"+ Lista.Dato+"\n";
Lista = Lista.Prev;
Index ++;
}
//JOptionPane.showMessageDialog(null," "+ Index + " .- " + Lista.Dato);
JOptionPane.showMessageDialog(null,""+cad+Index+".-" + Lista.Dato);
// JOptionPane.showMessageDialog(null,"\n");

}
}
public void Eliminar_Principio () {
if (Lista == null) {
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
} else {
Recorrer_Lista_Prev();
if (Lista.Next != null) {
Lista = Lista.Next;
Lista.Prev = null;
} else {
Lista = null;
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
}
}
}
public void Eliminar_Final () {
if (Lista == null) {
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
} else {
Recorrer_Lista_Next();
if (Lista.Prev != null) {
Lista = Lista.Prev;
Lista.Next = null;
} else {
Lista = null;
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
}
}
}
public void Eliminar_Referencia (int N) {
if(Lista==null)
{
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
}
//if (Lista.Prev == null && Lista.Next == null)
else {
int w=0;
w=Integer.parseInt(JOptionPane.showInputDialog(null,"Elija\n 1.-buscar de Derecha a Izquierda\n 2.-Buscar de Izquierda a derecha"));

if(w==1)
{
if(Lista.Prev!=null)
{
Recorrer_Lista_Prev();
while (Lista.Dato != N ) {
Lista = Lista.Next;
}
if (Lista.Prev == null) {
Lista = Lista.Next;
Lista.Prev = null;

} else if (Lista.Next == null) {
Lista = Lista.Prev;
Lista.Next = null;

} else {
Lista = Lista.Prev;
Lista.Next = Lista.Next.Next;
Lista = Lista.Next;
Lista.Prev = Lista.Prev.Prev;
}
}
else
{
Lista = null;
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
}
}
else
{
if(Lista.Next!=null)
{
Recorrer_Lista_Next();
while (Lista.Dato != N ) {
Lista = Lista.Prev;
}

if (Lista.Next == null) {
Lista = Lista.Prev;
Lista.Next = null;

} else if (Lista.Prev == null) {
Lista = Lista.Next;
Lista.Prev = null;

} else {
Lista = Lista.Next;
Lista.Prev = Lista.Prev.Prev;
Lista = Lista.Prev;
Lista.Next = Lista.Next.Next;
}
}
else
{
Lista = null;
JOptionPane.showMessageDialog(null,"\n\t Lista Vacia !!!");
}

}
}
}
public void Recorrer_Lista_Next () {
if (Lista != null )
{
while (Lista.Next != null) {
Lista = Lista.Next;
}
}
}
public void Recorrer_Lista_Prev () {
if (Lista != null )
{
while (Lista.Prev != null) {
Lista = Lista.Prev;
}
}
}
}
 
Volver
Arriba