Lista Duplamente Encadeada e Simplesmente Encadeada considerando o uso de Iteradores

8 respostas
D

Bom dia pessoal. Estou com uma dúvida hoje, uma dúvida teórica. É o seguinte:

Uma lista duplamente encadeada pode ser construída da mesma maneira que uma lista simplesmente encadeada considerando o uso de iteradores? Justifique sua resposta.

Eu sei que posso, porém não consigo achar um meio de justificar a minha resposta. É uma questão de revisão para minha prova. Quem puder me ajudar, e explicar o porque, fico muito agradecido! Agradeço desde já!

8 Respostas

ivandasilva

Fiquei interessado em saber a resposta agora rsrs… para mim os iterators eram somente um pattern para você percorrer uma lista, por exemplo no Java você tem a interface Iterator<?> que percorre objetos, mas só para a frente… uma lista duplamente ligada tem a ligação do anterior para o próximo e do próximo para o anterior, certo ? No Iterator do Java não dá para fazer o caminho reverso…

Fiquei curioso

D

Pois é. Acabei ficando na dúvida, meu professor chegou a comentar alguma coisa, mas bem por cima e preciso tirar essa dúvida, pois a prova é hoje =/

lele_vader

A classe listIterator é a implementação de uma lista duplamente encadeada, pois tem métodos para ir para a frente e para trás

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/ListIterator.html

ivandasilva

show :smiley:

lele_vader

Daí acho que o tipo de iterator que você usa é que vai definir o tipo da lista.

D

Então na verdade o tipo de Iterador que eu for usar é que vai dizer o tipo de lista que será criada? É basicamente isso?

ivandasilva

Iterator é um pattern que se usa para percorrer os elementos de um objeto. Se você criar uma interface por exemplo que percorra de trás para frente, de frente para trás, então as classes que a implementam terão que ter essas funcionalidades, logo, depende rsrs…

lele_vader

Eu acho que linkedList e a implementação de lista duplamente encadeada.

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/LinkedList.html

Pelo menos na documentação diz que os métodos executam como o esperado de uma lista duplamente encadeada.

“All of the operations perform as could be expected for a doubly-linked list”

O ArrayList vi uma vez falando da implementação dele e na verdade é por um array.

Criado 21 de setembro de 2012
Ultima resposta 21 de set. de 2012
Respostas 8
Participantes 3