Organizador de strings com lista encadeada java

3 respostas
R

tenho que criar um programa que organiza strings(a,b,c) em ordem alfabética com lista encadeada em java, que siga as condições abaixo.

receber os elementos e colocá-lo na ordem correta;

retirar os itens repetidos;

fazer a busca de um item e dizer quantos saltos foram necessários pra chegar neste desde o head;

mais estou com dificuldades para entender lista encadeada

3 Respostas

Rodrigo_Void

Ajudamos com dúvidas e problemas referentes a códigos. Não fazemos suas atividades.
Se quer aprender oque é, pesquisa, no youtube tem muita vídeo-aula sobre isso.
Depois tente fazer, e quando tiver com problemas no código poste aqui.
T+

A

Assista todos os vídeos que tenham referência a collections:

Ao ordenar seus elementos e remover os repetidos, você terá a lista da forma encadeada.

R

vou colocar o código que fiz logo abaixo.

classe node

public class Node {

private Node proximo;

private Object informacao;
public Node(Node proximo, Object informacao){
	this.proximo = proximo;
	this.informacao = informacao;
}

public Node(Object informacao){
	this.informacao = informacao;
}

public Node getProximo() {
	return proximo;
}

public void setProximo(Node proximo) {
	this.proximo = proximo;
}

public Object getInformacao() {
	return informacao;
}

public void setInformacao(Object informacao) {
	this.informacao = informacao;
}

}

classe lista encadeada

public class ListaEncadeada {
private Node cabeca;

boolean verifica = false;

public void adicionaUltimo(String informacao) {
	Node newNode = new Node(null, informacao);

	if (cabeca == null) {
		cabeca = newNode;
	} else {
		Node atual = cabeca;

		while (atual.getProximo() != null) {
			atual = atual.getProximo();
		}
		atual.setProximo(newNode);

	}

}

public boolean contem(String informacao) {
	Node node = new Node(null, informacao);

	while (node != null) {
		if (node.getInformacao().equals(informacao)) {
			return true;
		}
		node = node.getProximo();
	}
	return false;
}

public String toString() {

	if (this.cabeca == null) {
		return "[]";
	}
	StringBuilder builder = new StringBuilder("[");

	Node atual = cabeca;

	// Percorrendo até o penúltimo elemento.
	while (atual != null) {

		builder.append(atual.getInformacao());
		if (atual.getProximo() != null)
			builder.append(", ");
		atual = atual.getProximo();
	}
	// ultimo elemento

	builder.append("]");

	return builder.toString();
}

}

void main
import java.util.Arrays;

public class Teste {

public static void main(String[] args) {

	ListaEncadeada lista = new ListaEncadeada();
	String vetor[] = new String[10];
	vetor[0] = "a";
	vetor[1] = "b";
	vetor[2] = "a";
	vetor[3] = "g";
	vetor[4] = "d";
	vetor[5] = "e";
	vetor[6] = "f";
	vetor[7] = "g";
	vetor[8] = "c";
	vetor[9] = "h";
	Arrays.sort(vetor);

	for (int i = 0; i < vetor.length; i++) {
		
		if (lista.contem(vetor[i]) != true) {
			
			System.out.println(vetor[i]);

		} else {

			lista.adicionaUltimo(vetor[i]);
		}

	}

	System.out.println(lista);
	//System.out.println(lista.verifica);
}

}

Criado 13 de junho de 2017
Ultima resposta 14 de jun. de 2017
Respostas 3
Participantes 3