Lista duplamente encadeada, dúvidas sobre células e outras coisa.. :)

5 respostas
D

Boa Noite galera… :stuck_out_tongue:

Estou fazendo um trabalho sobre listas encadeadas, mas estou com algumas dúvidas.

É o seguinte, preciso fazer um programa de um condominio, no caso eu crio as classes moradores e casas.

Eu preciso de uma lista de casas e em cada casa uma lista:
Assim:

Eu já criei uma classe célula e uma outra chamada lista, funcionando lindamente :slight_smile:
Mas estou com algumas dúvidas na parte téorica msmo.

Tanto as casas como os moradores tem seus atributos, vamos supor.
A casa chamada Verde de codigo 55, tem os moradores de João de codigo 02 e Pablo de codigo 03.

Eu crio uma lista em que a 1° célula é a casa e as células do lado dessa são cada morador. Aí vem uma pergunta:
Eu consigo armazenar o codigo e o nome de cada morador numa célula?
N estou conseguindo fazer isso, n sei se é possivel ou é erro de sintaxe.

Outra coisa, está correto isto? A img representa o certo?
Bom, por enquanto é isso… hehe
Vlw

5 Respostas

D

Uhm… estou tentando conectar outra lista embaixo dessa, mas que a 1°celula, no casa a casa fique conectada a nova casa.

Não consegui ainda, mas consegui criar duas listas separada usando um for no Main e colocando a classe lista dentro da classe casa.
É possível conectar listas diferentes? Ou somente quando uma está conectada a outra?

Vlw²

ViniGodoy

Se sua classe do nó da lista (celula) for assim, consegue:

public class No {
    private No proximo;
    private No anterior;
    private Morador valor;

    //gets e setters
}
D

uhm… ainda n consegui, o q eu fiz:

coloquei na classe assim:

class Casa{ //classe Casa
		public int cod_casa;
		public int quant_casa;
		public List<Morador> moradores;

Mas como fazer isso em um metodo na lista?

Eu tentei fazer algo, mas acho q é bem burro e n é oq eu preciso, criei um for na classe principal q chama os metodos. Aí eu consigo criar listas separadas,
mas o q eu quero é ligar a celula principal(Casa01) que tem uma lista de celulas q são os parametros dos moradores, e em baixo dessa celula, outras casas conforme o usuario queira… xP

Tem como vc me ajudar nisso?
Tó dando umas olhadas e testando, mas n tá funcionando… .--------.

jorhudson

Boa tarde,

tem melhor jeito de resolver esse tipo de problema, mas vc está tentando só com lista duplamente encadeada ?

Tipo , dentro de um metodo da lista, você pode fazer um metodo recebendo uma lista de moradores e

fazendo assim …

for(Morador morador : listaMoradores){ // Aqui vc passa a lista que recebeu ...
System.out.print(morador.getNome());
}

Espero que tenha te ajudado … :roll:

D

Obrigado por responder xD

Não precisa ser duplamente, é q eu acho q fica mais facil de manipular, mas ok.. xD

Acho q um dos meus problemas é q estou um tanto confuso, o q eu fiz:

Criei 4 classes;
Uma classe Morador, outra Casa, outra Célula e por fim, criei uma classe Lista,
Nas classes, morador, casa e céula, criei os atributos, fiz um get e um set p/ cada atributo e alguns construtores.

A classe Lista tem muitos metodos, como inserirnocomeco, inserirnofim, inserirnoindice, remover..... Eu vou ler um arquivo de entrada.txt, tipo assim:
CONSULTAR 0000 0000
REMOVER 0000 0000
INSERIR 0000 0000 mvubbgemlo
CONSULTAR 0000 0001
CASA 0000 kiaeutw ulwnt 17032011 201441 8
CASA 0001 bovftfdmyx itwcsxurvh 04102011 134309 13
REMOVER 0000 0000
CASA 0002 zhbvmxtvgk nmhuyuunx 17042011 113619 0
INSERIR 0003 0001 arkek

É gerado aleatoriamente, vou ler linha por linha,
O INSERIR, é a inserção dos moradores, o da CASA, é a criação de uma nova lista chamada Casa.

O q eu tó fazendo é inserir uma nova celula na lista, qdo no principal eu faço:
class Principal {
	public static void main(String[] args) {
		try {
			
			Lista lista = new Lista();
			
			
			lista.inserirComeco("zero","gol");
			lista.inserirFim(4);

Mas acho q num é isso.. :oops:

Tó mais perdido q cego em tiroteio, como o Vini sugeriu, eu devo criar uma variavel Morador na classe célula, criar um metodo inserirListaCasa e chamar uam lista morador?
Eu deveria criar mais uma lista?

Tipo, uma classe ListaMorador e outra ListaCasa? Colocar a listamorador dentro da listacasa e dentro da lista casa colocar uma classe q cria as celulas?
Eu tava pensando em fazer isso.. :P

Como irei inserir linha por linha, n precisaria do for num é?
xP

Obgdo por me ajudar
\o

Criado 13 de agosto de 2011
Ultima resposta 15 de ago. de 2011
Respostas 5
Participantes 3