-
Notifications
You must be signed in to change notification settings - Fork 0
/
PilhaDinamica.java
55 lines (46 loc) · 994 Bytes
/
PilhaDinamica.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package controller;
import javax.swing.JOptionPane;
public class PilhaDinamica {
private int tamanho;
private Livro topo;
public PilhaDinamica() {
topo = null;
tamanho = 0;
}
public boolean verificaPilhaVazia() {
if (tamanho == 0) {
return true;
}
return false;
}
public int tamanhoPilha() {
return this.tamanho;
}
public void push(Livro novo) {
novo.setProximo(topo);
topo = novo;
tamanho++;
System.out.println("Livro empilhado com sucesso!");
}
public Livro pop() {
Livro livro = null;
if (verificaPilhaVazia()) {
JOptionPane.showMessageDialog(null, "Não é possível desempilhar pois a pilha está vazia!");
} else {
livro = topo;
topo = topo.getProximo();
livro.setProximo(null);
tamanho--;
}
return livro;
}
public Livro topo() {
Livro livro = null;
if (verificaPilhaVazia()) {
JOptionPane.showMessageDialog(null, "A pilha está vazia e não possui topo!");
} else {
livro = topo;
}
return livro;
}
}