Buscar

atv3 - estrutura de dados

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

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. 
 
import java.util.Stack;
import java.util.concurrent.ArrayBlockingQueue;
public class Main {
 public static void main(String[] args) {
 //Passo 1: Insira os números [1, 2, 3, 4 e 5] em uma lista - com 5 células;
 int[] lista = new int[5];
 for (int i = 0; i < 5; i++) {
 lista[i] = i+1;
 }
 //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;
 Stack<Integer> stack = new Stack<>();
 stack.setSize(5);
 for (int i = 0; i < lista.length; i++) {
 stack.push(lista[i]);
 lista[i] = 0;
 }
 //Passo 3: Remova os dados da Pilha e insira-os em uma Fila - com 10 células);
 ArrayBlockingQueue fixedQueue = new ArrayBlockingQueue<>(10);
 for (int i = 0; i < 5; i++) {
 fixedQueue.add(stack.peek());
 stack.pop();
 }
 //Passo 4: Insira os números [6, 7, 8, 9 e 10] na lista;
 for (int i = 0; i < 5; i++) {
 lista[i] = i+6;
 }
 //Passo 5: Repita os passos 2 e 3.
 //Passo 2
 for (int i = 0; i < lista.length; i++) {
 stack.push(lista[i]);
 lista[i] = 0;
 }
 //Passo 3
 for (int i = 0; i < 5; i++) {
 fixedQueue.add(stack.peek());
 stack.pop();
 }
 //Passo 6: Exiba todos os números que foram inseridos na fila.
 for(Object s : fixedQueue){
 System.out.println(s.toString());
 }
 }
}

Outros materiais