Buscar

Atividade 3 (A3) Estrutura de Dados - UAM

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Atividade 3 (A3) – Estrutura de Dados 
 
Implemente um projeto no qual serão inseridos números de forma ordenada, e que atenda as especificações 
a seguir: 
 
Passo 1: Insira os números [1, 2, 3, 4 e 5] em uma lista - com 5 células; 
Passo 2: Remova todos os dados da lista e insira-os em uma Pilha - com 5 células. Deve-se sempre remover os dados 
da célula inicial da lista; 
Passo 3: Remova os dados da Pilha e insira-os em uma Fila - com 10 células); 
Passo 4: Insira os números [6, 7, 8, 9 e 10] na lista; 
Passo 5: Repita os passos 2 e 3. 
Passo 6: Exiba todos os números que foram inseridos na fila. 
 
Analise a ordem dos números exibidos e verifique se estão na mesma forma que foram inseridos. Se a 
exibição foi diferente, justifique o ocorrido. 
 
O programa desenvolvido pelo aluno e a sua justificativa deverá ser postado em um ambiente virtual. Esse 
programa será avaliado pelo tutor responsável pela disciplina. 
 
Resposta: 
 
/* 
Comentários: 
- Os dados são inseridos da lista até a pilha de forma sequencial (FIFO), 
após isso, são inseridos na fila tirando da pilha de forma "Last in, First Out" 
 
*/ 
package ativ03_ed; 
 
import java.util.ArrayList; 
import java.util.LinkedList; 
import java.util.Queue; 
import java.util.Stack; 
 
/** 
* 
* @author Luciano barreto 
*/ 
 
public class Ativ03_ED { 
 
/** 
* @param args the command line arguments 
*/ 
 
public static void main(String[] args) { 
ArrayList<Integer> lista = new ArrayList<>(5); 
Stack<Integer> pilha = new Stack<>(); 
Queue<Integer> fila = new LinkedList<>(); 
 
 
lista.add(1); 
lista.add(2); 
lista.add(3); 
lista.add(4); 
lista.add(5); 
 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
 
while(!lista.isEmpty()) { 
int elemento = lista.remove(0); 
pilha.push(elemento); 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
} 
 
while(!pilha.isEmpty()) { 
int elemento = pilha.pop(); 
fila.add(elemento); 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
} 
 
lista.add(6); 
lista.add(7); 
lista.add(8); 
lista.add(9); 
lista.add(10); 
 
System.out.println("Inserindo valores [6, 7, 8, 9 e 10] na lista:"); 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
 
while(!lista.isEmpty()) { 
int elemento = lista.remove(0); 
pilha.push(elemento); 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
} 
while(!pilha.isEmpty()) { 
int elemento = pilha.pop(); 
fila.add(elemento); 
System.out.printf("Lista: %s\nPilha: %s\nFila: %s\n\n", lista, pilha, fila); 
} 
System.out.println("Fila final: " + fila); 
} 
}

Continue navegando