-
Notifications
You must be signed in to change notification settings - Fork 0
/
Fila.java
39 lines (33 loc) · 810 Bytes
/
Fila.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
/*
* CLASSE FILA - IMPLEMENTA O TIPO ABSTRATO DE DADOS FILA ESTÁTICA CIRCULAR
* OPERAÇÕES: *
* vazia() -> retorna true se a fila está vazia.
* cheia() -> returna true se a fila está cheia.
* enfileirar(x) -> coloca o elemento x no fim da fila.
* desenfileirar() -> retorna o elemento situado no inicio da fila.
*/
public class Fila {
private int vet[];
private int inicio;
private int fim;
public Fila(int tam) {
vet = new int[tam];
inicio = fim = 0;
}
public void enfileirar(int i) {
vet[fim] = i;
fim = (fim + 1) % vet.length;
}
public int desenfileirar() {
int item;
item = vet[inicio];
inicio = (inicio + 1) % vet.length;
return item;
}
public boolean vazia() {
return inicio == fim;
}
public boolean cheia() {
return ((fim + 1) % vet.length) == inicio;
}
}