Ir ao conteúdo
  • Cadastre-se

RorschachVII

Membro Júnior
  • Posts

    10
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa noite! Quando tento imprimir no case 2 no último while fica dando loop. Alguém consegue resolver? package projeto; import java.util.Scanner; public class Listas { private static class Lista { public int num; public Lista prox; public Lista ant; } public static void main(String[] args) { Scanner entrada = new Scanner(System.in); Lista inicio = null; Lista fim = null; Lista aux; Lista menor; int op; do { System.out.println("\nMenu de Opções\n"); System.out.println("1- Inserir"); System.out.println("2- Mover menor"); System.out.println("3- Sair"); System.out.println("Digite a sua opção:"); op = entrada.nextInt(); Lista novo; switch (op) { case 1: System.out.println("Digite um número:"); novo = new Lista(); novo.num = entrada.nextInt(); if (inicio == null) { inicio = novo; fim = novo; novo.prox = null; novo.ant = null; } else { novo.prox = inicio; inicio.ant = novo; novo.ant = null; inicio = novo; } System.out.println("\nNúmero inserido. Cosultando lista:"); aux = inicio; while (aux != null) { System.out.print(aux.num + " -> "); aux = aux.prox; } System.out.println("null"); break; case 2: aux = inicio; if (inicio == null) { System.out.println("Lista vazia"); break; }else{ menor = inicio; } menor = inicio; while (aux != null) { if (aux.num < menor.num) { menor = aux; } aux = aux.prox; } while (menor.ant != null) { if (menor.ant != null) { menor.ant.prox = menor.prox; menor.prox = menor.ant; } if (menor.ant.ant != null) { menor.ant.ant.prox = menor; menor.ant = menor.ant.ant; menor.prox.ant = menor; } if (menor == fim) { fim = menor.prox; } while (aux != null) { System.out.print(aux.prox + " -> "); aux = aux.prox; } System.out.println("null"); } break; case 3: System.exit(0); break; default: System.out.println("Opção inválida!"); break; } } while (op != 3); entrada.close(); } }
  2. @Boko Moko Seu código está certo só que tá dando loop quando consulto a lista toda.
  3. Como faço para descobrir qual o menor elemento digitado em uma lista duplamente encadeada não ordenada? Minha lista está assim: https://pastebin.com/qDJzSTSu
  4. @Boko Moko Organizei o código: https://pastebin.com/p6tZ87yd . Só que ainda não está pegando o menor valor.
  5. @Boko Moko Através do meu código, você consegue programar para ele pegar o menor elemento? Eu só preciso disso mas não estou conseguindo.
  6. @Boko Moko A dificuldade é que nesse meu código quando eu adiciono um número na lista ele não está pegando o menor valor, ele sempre mostra o último número que digitei.
  7. @Boko Moko Obrigado pelo link, mas tem que ser feito dessa forma: https://pastebin.com/4zm8hdaK (esse é meu código). Ele precisa pegar o menor valor e movê-lo para o anterior até chegar no início.
  8. @maxdesa E aí, beleza? Estou escrevendo um código onde preciso inserir um número no começo da lista e no fim dela. Mas preciso de uma função void que seleciona o menor número da lista e o move para o inicio, por exemplo: 50 -> 30 -> 5 -> 27 -> null Quando eu selecionar a função de mover o menor número, ele tem que fazer isso: 5 -> 50 -> 30 -> 27 -> null Vou ter 4 switch case: o de inserir no início, no fim, verificar toda a lista e mover o menor número para o início.
  9. Preciso de uma ajuda com a tal situação: Um código em Java que tem a função void MoveMenor(TipoLista Lista) que o usuário vai digitar vários elementos numa lista e essa função vai achar o menor valor e colocar ele no inicio da lista. Deverá fazer manipulação dos apontadores e imprimir cada passo do mesmo. import java.util.Scanner; public class TesteLista { private static class Lista { public int num; public Lista prox; public Lista ant; } public static void main(String[] args) { Scanner entrada = new Scanner(System.in); Lista inicio = null; Lista fim = null; Lista aux; Lista anterior; (Embaixo tenho um menu com opções de inserir o elemento no início, fim, remover, esvaziar e removê-lo).

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...