buenas necesito ayuda en listas (programacion en java )

Iniciado por edwin ramos, 29 Septiembre 2020, 19:07 PM

0 Miembros y 1 Visitante están viendo este tema.

edwin ramos

estos son los ejercicios que necesito hacer y la verdad estoy perdido y no se como hacerlos si me pueden ayudar se los agradeceria, si pueden me ayudan con el que sepan la verdad es de un taller que equivale a un 25% de la nota de semestre y no quisiera perderla ( gracias )

Eliminar el nodo que tiene el menor valor.
Insertar un dato antes del mayor valor de la lista.
Eliminar todos los nodos de una lista
Insertar un dato después del penúltimo nodo de la lista
Eliminar el penúltimo nodo de la lista
Insertar un dato después del primer nodo de la lista
Eliminar el mayor todas las veces que aparezca en la lista

crazykenny

Cita de: edwin ramos en 29 Septiembre 2020, 19:07 PM
estos son los ejercicios que necesito hacer y la verdad estoy perdido y no se como hacerlos si me pueden ayudar se los agradeceria, si pueden me ayudan con el que sepan la verdad es de un taller que equivale a un 25% de la nota de semestre y no quisiera perderla ( gracias )

Eliminar el nodo que tiene el menor valor.
Insertar un dato antes del mayor valor de la lista.
Eliminar todos los nodos de una lista
Insertar un dato después del penúltimo nodo de la lista
Eliminar el penúltimo nodo de la lista
Insertar un dato después del primer nodo de la lista
Eliminar el mayor todas las veces que aparezca en la lista


Hola, edwin ramos.

Antes que nada, ¿podrías compartir el trabajo que tienes hecho para poder ayudarte?..

Y, bueno, te lo comento porque no esta permitido en las reglas del foro hacer todo el trabajo de otro usuario (o, en tu caso, tareas relacionadas con códigos), ya que el objetivo del foro es ayudar a encontrar posibles problemas y solucionarlos.

Muchas gracias por vuestra atención, y, bueno, saludos.
A nivel personal, lo que me da mas miedo no son los planteamientos y acciones individuales, sino las realizadas en grupo, ya que estas ultimas pueden acabar con consecuencias especialmente nefastas para todos.
Se responsable, consecuente y da ejemplo.
http://informaticayotrostemas.blogspot.com.es/2013/12/situacion-de-la-educacion-actual-en.html
https://informaticayotrostemas.blogspot.com/

edwin ramos

#2
me referia a ver si me ayudaban con alguno de esos no con todos y gracias por el consejo ya escribo lo que tengo hecho
Código (java) [Seleccionar]


   //Método para insertar un dato al inicio de una lista
   public void insertarInicio(int dato)
   {
       Nodo x=new Nodo(dato);
       x.setLiga(cab);
       cab=x;
               
   }
   //Método para insertar un nodo al final de una lista
   public void insertarFinal(int dato)
   {
       Nodo q=cab,x=new Nodo(dato);
       if(cab==null)
       {
           cab=x;
       }
       else
       {
          while(q.getLiga()!=null)  
          {
              q=q.getLiga();
          }
          q.setLiga(x);
       }
   }
//Método para eliminar el primer nodo de una lista
   public void eliminarPrimero()
   {
       Nodo x=cab;
       if(cab==null)
       {
           JOptionPane.showMessageDialog(null,"Lista vacia");
       }
       else
       {
           cab=cab.getLiga();
            //delete(x)    aqui se libera el nodo  
       }
               
   }
   //Método para eliminar el ultimo nodo de una lista
   public void eliminarUltimo()
   {
       Nodo q=cab,ant=null;
       if(cab==null)
       {
           JOptionPane.showMessageDialog(null,"Lista vacia");
       }
       else
       {
          while(q.getLiga()!=null)  
          {
              ant=q;
              q=q.getLiga();
          }
          if(q==cab)
          {
cab=null;
          }
          else
          {
               ant.setLiga(null);
          }
//delete(q)
      }

   }
   //Método para eliminar de la lista un dato dado
   
   public void eliminarDato(int dato)
   {
       Nodo q=cab,ant=null;
       boolean sw=false;
        if(cab==null)
       {
           JOptionPane.showMessageDialog(null,"Lista vacia");
       }
       else
       {
          while(q!=null &&sw==false)  
          {
              if(q.getDato()==dato)
              {
                  sw=true;
              }
              else
              {
                   ant=q;
                   q= q.getLiga();
              }
          }
     
          if(sw==false)
          {
             JOptionPane.showMessageDialog(null,"El dato no se encontró en la lista");
          }
          else
          {
              if(q==cab)
              {
                   cab=cab.getLiga();  
              }
              else
              {
                    ant.setLiga(q.getLiga());
              }
          //delete(q) aqui se libera el nodo
          }
       }
   }
//Método para eliminar de la lista todos los datos impares
   
   public void eliminarImpares()
   {
       Nodo q=cab,ant=null,x;
       boolean sw=false;
       if(cab==null)
       {
           JOptionPane.showMessageDialog(null,"Lista vacia");
       }
       else
       {
          while(q!=null)  
          {
              if(q.getDato()%2!=0)
              {
                  sw=true;
                  x=q;
                 
                  if(q==cab)
                  {
                      cab=cab.getLiga();
                  }
                  else
                  {
                      ant.setLiga(q.getLiga());
                  }
                  q= q.getLiga();
                  //delete(x) aqui se libera el nodo
              }
              else
              {
                   ant=q;
                   q= q.getLiga();
              }
          }
     
          if(sw==false)
          {
             JOptionPane.showMessageDialog(null,"No hay datos impares en la lista");
          }
         
       }
   }
   //Método para insertar un dato en una lista ordenada y que permanezca ordenada y sin datos repetidos
   //Ejercicio 6
  public void insertarDatoenListaOrdenadaSinRepetir(int dato)
  {
       Nodo q=cab, ant=null,x;
       if(cab==null)
       {
           x=new Nodo(dato);
           cab=x;
       }
       else
       {
           while(q!=null && q.getDato()<dato)
           {
               ant=q;
               q=q.getLiga();
           }
           
           if(q!=null && q.getDato()==dato)
           {
               JOptionPane.showMessageDialog(null,"El dato ya existe en la lista");
           }
           else
           {
              x=new Nodo(dato);
              x.setLiga(q);
           
               if(q==cab)
               {
                 cab=x;  
               }
               else
               {
                   ant.setLiga(x);
               }
           }
       }
   }
   //Método para insertar un dato en una lista ordenada y que permanezca ordenada permite datos repetidos
   //Ejercicio
  public void insertarDatoenListaOrdenadaPermiteRepetidos(int dato)
  {
       Nodo q=cab, ant=null,x;
       if(cab==null)
       {
           x=new Nodo(dato);
           cab=x;
       }
       else
       {
           while(q!=null && q.getDato()<dato)
           {
               ant=q;
               q=q.getLiga();
           }
           
           
              x=new Nodo(dato);
              x.setLiga(q);
           
               if(q==cab)
               {
                 cab=x;  
               }
               else
               {
                   ant.setLiga(x);
               }
           }
       
   }
 
}


Tachikomaia

Sería más lógico ponerlos en el foro de Java, además no se hacen tareas "escolares" en el foro, porque son para evaluar lo que tú puedes hacer solo. ¿Por qué tienes tantas dudas si se supone que te enseñaron? Demanda o renuncia a quienes te enseñaron mal. Si la cosa es que no estudiaste, jodete, hazlo ahora si te da el tiempo.