• Nenhum resultado encontrado

Estrutura de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Estrutura de Dados"

Copied!
13
0
0

Texto

(1)

Estrutura de Dados

(2)

Pilhas

• Estrutura de dados que representa o empilhamento de dados.

• LIFO (o último a entrar é o primeiro a sair,

“Last In, First Out”, em inglês).

– Ex.: Pilha de livros, entrega de pizza.

(3)

Pilhas

• Apenas é permitido o acesso ao elemento que encontra-se no topo.

– Os outros dados não podem ser acessados antes da remoção do último.

• Estrutura simples de fácil implementação

(4)

Pilhas

• Operações

– Criar uma pilha

– Empilhar um elemento

– Desempilhar um elemento

– Recuperar o tamanho da pilha – Destruir uma pilha

(5)

Pilhas

Empilhar (A) Empilhar (B)

Empilhar (C)

Fundo da Pilha A

Fundo da Pilha A

B

Fundo da Pilha A

B C

(6)

Pilhas

Desempilhar Desempilhar

Empilhar (D) Empilhar (E)

Fundo da Pilha

Fundo da Pilha A

Fundo da Pilha A

B

D

Fundo da Pilha D

E

(7)

Usos de Pilha

• Solução de expressões matemáticas

– Calculadora HP-12c

• Guardar variáveis locais em chamadas

recursivas de função

(8)

Implementando Pilhas

• Utilizar ArrayList para implementar pilhas:

– Deve-se criar a classe Pilha.java – Declarar a variável pilha

private ArrayList<String> pilha;

(9)

Implementando Pilhas

• Utilizar ArrayList para implementar pilhas:

– Criar o construtor para iniciar as variáveis:

– Criar método para verificar se a pilha está vazia:

public Pilha(){

pilha = new ArrayList<String>();

}

public boolean pilhaVazia(){

(10)

Implementando Pilhas

• Utilizar ArrayList para implementar pilhas:

– Criar método para recuperar o tamanho da lista:

– Criar método para empilhar elementos:

public int tamanhoPilha(){

return pilha.size();

}

public void empilhar(String elemento){

pilha.add(elemento);

}

(11)

Implementando Pilhas

• Utilizar ArrayList para implementar pilhas:

– Criar método para desempilhar elementos:

Criar método para imprimir os elementos:

public String desempilhar(){

return pilha.remove(posicaoPilha);

}

public String toString(){

String saida = "";

for (int i = pilha.size()-1; i >= 0; i--) {

(12)

Dúvidas

(13)

Referências

• GOODRICH, M. T.; TAMASSIA, R. Estruturas de Dados e Algoritmos Em Java. 5ª Edição. Bookman, 2013.

• PUGA, S.; RISSETI, G. Lógica de Programação e

Estruturas de Dados com Aplicações em Java. 2ª Edição.

Prentice Hall, 2012.

• Algoritmos e Estruturas de Dados com Java. Disponível em:

https://www.caelum.com.br/apostila-java-estrutura-dados/.

Acesso em: 16/05/2016.

• Introdução aos tipos de Estrutura de Dados em JAVA.

Disponível em:

http://www.javaprogressivo.net/2012/09/introducao-aos-tipos-

Referências

Documentos relacionados

– Os outros dados não podem ser acessados antes da remoção do primeiro.. • Estrutura simples de

As árvores onde cada nó que não seja folha numa árvore binária tem sub- árvores esquerda e direita não vazias são conhecidas como árvores estritamente binárias.. apresenta

Agora que j´a conhecemos um pouco mais sobre tipos e listas, ´e importante saber que o Haskell (e outras linguagens funcionais como o Clean, Caml e Erlang) apresenta algumas

Changes in the gut microbiota appears to be a key element in the pathogenesis of hepatic and gastrointestinal disorders, including non-alcoholic fatty liver disease, alcoholic

In this study, we describe the fish demersal assemblage along the continental shelf of the northeast Brazilian coast 5°-9°S, specifically the ecological descriptors and the

compra dele, no que diz respeito aos gastos relacionados com alimentos e motivos de escolha do ponto de venda, é chegada a hora de entendermos o conhecimento dele acerca de

desenvolvimento deste trabalho têm as seguintes metas a serem atingidas: 1 Confirmar que o cenário apresentado depois do Plano1 Diretor de Reforma do Aparelho do Estado 1997, CPI