-
Notifications
You must be signed in to change notification settings - Fork 0
/
FilaCircular.java
58 lines (46 loc) · 1.24 KB
/
FilaCircular.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
56
57
58
public class FilaCircular {
// Atributos
int[] dados;
int inicio, fim, tamanho, capacidade;
FilaCircular(int c){
inicio = 0;
fim = 0;
tamanho = 0;
capacidade = c;
dados = new int[capacidade];
}
boolean filaCheia(){
return tamanho == capacidade;
}
boolean filaVazia(){
return tamanho == 0;
}
void receberValor(int d){
if (filaCheia()) {
System.out.println("A Fila está cheia !");
} else {
dados[fim] = d;
tamanho++;
fim = (fim + 1) % capacidade;
}
}
void removerValor(){
if(filaVazia()){
System.out.println("Fila está Vázia !");
} else {
tamanho--;
inicio = (inicio + 1) % capacidade;
}
}
void listarFila(){
if(filaVazia()){
System.out.println("Fila está vazia, nada para mostrar !");
} else {
System.out.print("\n[");
for (int i = 0; i < tamanho; i++){
System.out.print(" " + dados[(inicio + i) % capacidade]);
}
System.out.print(" ] ");
}
}
}