TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

UAM - N2 - Estrutura de Dados

Por:   •  13/6/2015  •  Exam  •  1.841 Palavras (8 Páginas)  •  279 Visualizações

Página 1 de 8

Pergunta 1

É necessária uma avaliação

Não Avaliada

Considere o seguinte código de uma lista duplamente encadeada.

Descrição da classe Node:

public class Node {

public int data;

public Node next;

public Node prev;

public Node( int d ) {

data = d;

next = prev = null;

}

public int getData(){

return data;

}

}

Descrição da classe Lista Duplamente Encadeada:

public class ListaDupla {

public Node firstNode, lastNode;

public ListaDupla( ) {

firstNode = lastNode = null;

}

public boolean isEmpty(){

return (firstNode == null);

}

public void insertFirst(int data){

Node novoNode = new Node(data);

if (isEmpty())

firstNode = lastNode = novoNode;

else{

firstNode.prevNode = novoNode;

novoNode.nextNode = firstNode;

firstNode = novoNode;

}

}

public void insertLast(int data){

Node novoNode = new Node(data);

if (isEmpty())

firstNode = lastNode = novoNode;

else{

lastNode.nextNode = novoNode;

novoNode.prevNode = lastNode;

lastNode = novoNode;

}

}

public boolean insertAfter(int key, int data){

Node atual = firstNode;

if (atual == null)

return false;

while (atual.dado != key){

atual = atual.nextNode;

if (atual == null)

return false;

}

Node novoNode = new Node(data);

if (atual == lastNode) {

novoNode.prevNode = lastNode;

lastNode = novoNode;

}

else{

novoNode.nextNode = atual.nextNode;

atual.nextNode.prevNode = novoNode;

}

novoNode.prevNode = atual;

atual.nextNode = novoNode;

return true;

}

public void imprimeInvertido(){

? ? ?

}

}

Implemente um método que irá apresentar todos os elementos da lista na ordem invertida.

A assinatura do método deve ser: public void imprimeInvertido().

Para a lista de exemplo acima, a saída deve ser:>65 18 81 33 16 99 10

Resposta Selecionada:

public void imprimeInvertido(){

if ( isEmpty() ) {

System.out.println( "Lista vazia" );

}

else{

No current = lastNode;

while ( current != null ) {

System.out.print(current.getValor() - " " );

current = current.getPrev();

}

}

System.out.println( "\n" )

}

Resposta Correta:

Correta

public void imprimeInvertido(){

/*************************************************

* Descreva como o método seria implementando utilizando a linguagem Java para percorrer a lista de forma invertida

*************************************************/

}

...

Baixar como (para membros premium)  txt (11.2 Kb)   pdf (65.1 Kb)   docx (22.6 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com