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

Teste de Envio de Trabalho

Por:   •  10/10/2016  •  Trabalho acadêmico  •  549 Palavras (3 Páginas)  •  323 Visualizações

Página 1 de 3

Para a implementação de uma Pilha, podemos escolher dois modelos de alocação de

memória, a Estática-Sequencial ou a Dinâmica-Encadeada.

Vamos começar mostrando uma implementação mais simples com alocação EstáticaSequencial

usando a linguagem Java, porém o conceito pode ser utilizado em qualquer outra

linguagem de programação

1.1. Pilha Estática

Segue abaixo uma implementação de Pilha Estática Sequencial na linguagem Java.

1. //TAD que implementa uma Pilha

1. public class Pilha {

2. private int topo; //Topo da Pilha

3. private int MAX; //Tamanho da Pilha

4. private Object memo[]; //Elementos da Pilha (objeto genérico)

5. //Método que inicializa a Pilha no estado vazia

6. public Pilha() {

7. topo=-1;

8. MAX=30;

9. memo = new Object[MAX];

10. }

11. //Método que verifica se a Pilha está Vazia

12. public boolean isEmpty() {

13. return(topo==-1);

14. }

15. //Método que verifica se a Pilha está cheia

16. private boolean isFull() {

17. return(topo==MAX-1);

18. }

19. //Método para inserir um valor na Pilha

20. public void push(Object x) {

21. if(!isFull()) {

22. topo++;

23. memo[topo]=x;

24. }

25. else {

26. System.out.println("Pilha Cheia!!");

27. }

28. }

29. //Método para exibir o conteúdo da Pilha

30. public void print() {

31. if(!isEmpty()) {

32. String msg = "";

33. for(int i=0; i<=topo; i++) {

34. msg += memo[i].toString() + ", ";

35. }

36. System.out.println("P: [ "+msg+" ]");

37. }

38. else {

39. System.out.println("Pilha Vazia!!");

40. }

41. }

42. //Método para retornar o topo da Pilha e remove-lo

43. public Object pop() {

44. if(!isEmpty())

45. return memo[topo--];

46. else

47. return null;

48. }

49. //Método que retorna o topo da pilha sem removê-lo

50. public Object top() {

51. if(!isEmpty())

52. return memo[topo];

53. else

54. return null;

55. }

56. }

Note que nas linhas 4 e 9 temos uma variável MAX que define a quantidade máxima de

elementos que iremos armazenar na pilha. Isso define a alocação como sendo estática

(quantidade

...

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