Fórum [AJUDA] lista encadeada simples em java - Métodos de Existir e Remover [URGENTE] #582116
05/06/2017
0
Estou tentando fazer um método da lista encadeada simples, mas já estou a 2 dias tentando resolver esses métodos e não dou um jeito..
todos os outros já estão funcionando, mas o de existir quando só se cria um node1, e tenta testar ele estava dando como true o node que eu não tinha inserido ainda, e o remover só consigo remover o primeiro node da lista encadeada, segue TODOS os códigos, se alguém poder me ajudar, seria de grande favor
class ListaDinamica
class Node
todos os outros já estão funcionando, mas o de existir quando só se cria um node1, e tenta testar ele estava dando como true o node que eu não tinha inserido ainda, e o remover só consigo remover o primeiro node da lista encadeada, segue TODOS os códigos, se alguém poder me ajudar, seria de grande favor
class ListaDinamica
package br.edu.unifil.comp2022.listadinamica;
public class ListaDinamica{
private Node inicio, ultimo;
private int tamanho = 0;
public ListaDinamica(){
this.inicio = null;
this.ultimo = null;
}
public void inserir(Node node){
if(inicio == null){
inicio = ultimo = node;
}else{
Node aux = inicio;
while(aux.getProximo() != null){
aux = aux.getProximo();
}
aux.setProximo(node);
}
tamanho++;
}
public void remover(Node node){
Node procurar = node;
if(inicio == null){ //Lista Vazia
System.out.println("Lista vazia");
}
if(existe(node) == true){
if(inicio != null && inicio != inicio.getProximo()){ // remove o primeiro elemento
inicio = inicio.getProximo();
}
else if(inicio.getProximo() != null){
while(inicio.getProximo() != null){
procurar = procurar.getProximo();
if(node.getProximo() == null){
procurar.setProximo(null);
}else{
procurar = node.getProximo();
node.setProximo(null);
}
}
}
tamanho--;
}
}
public boolean existe(Node node){
Node contar;
Node aux;
aux = inicio;
if(node != null && tamanho == 0){
return true;
}
else{
while(inicio != null || aux.getProximo() != null){
return true;
}
}
return false;
}
public int tamanho(){
return tamanho;
}
@Override
public String toString(){
String ret;
if(inicio == null){
ret = "[]";
}else{
ret = "[";
Node aux = inicio;
while(aux.getProximo() != null){
ret = ret + aux + ", ";
aux = aux.getProximo();
}
}
ret = ret + "]";
return ret;
}
}class Node
package br.edu.unifil.comp2022.listadinamica;
import java.lang.Math;
/**
* Write a description of class Node here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Node{
// instance variables - replace the example below with your own
private int x;
private Node proximo, anterior;
/**
* Constructor for objects of class Node
*/
public Node(){
x = (int) (Math.random()*100);
}
public Node(int _x){
this.x = _x;
}
public int getX(){
return this.x;
}
public Node getAnterior(){
return this.anterior;
}
public Node getProximo(){
return this.proximo;
}
public void setX(int _x){ this.x = _x; }
public void setProximo(Node _proximo){
this.proximo = _proximo;
}
public void setAnterior(Node _anterior){
this.anterior = _anterior;
}
@Override
public String toString(){
return Integer.toString(this.x);
}
}
Rafael Filho
Curtir tópico
+ 0
Responder
Posts
14/07/2017
Rodrigo Zandonadi
Mano, acho que você usou a tag errada... node.js não tem a ver com seu problema.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)