Skip to content

Commit e97ed2a

Browse files
committed
[rust] Adiciona estrutura de dados fila.rs
1 parent d5e79bc commit e97ed2a

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Com o objetivo de alcançar uma abrangência maior e encorajar novas pessoas a c
3535
| [Árvore Binária][4] | C/C++ | Java | [Python](./src/python/binary_tree.py) | Go | Ruby | JS | Pascal | Swift | Rust |
3636
| [Árvore Binária de Busca][3] | [C/C++](./src/c/ArvoreBinariaDeBusca.c) | [Java](./src/java/ArvoreDeBuscaBinaria.java) | [Python](./src/python/arvore_binaria_de_busca.py) | Go | Ruby | [JS](./src/javascript/ArvoreDeBuscaBinaria.js) | Pascal | Swift | Rust |
3737
| [Deque][54] | C/C++ | Java | Python | Go | Ruby | [JS](./src/javascript/Deque.js) | Pascal | Swift | [Rust](./src/rust/deque.rs) |
38-
| [Fila][18] | [C/C++](./src/c/Fila.c) | [Java](./src/java/Fila.java) | [Python](./src/python/fila.py) | Go | [Ruby](./src/ruby/Fila.rb) | [JS](./src/javascript/Fila.js) | Pascal | Swift | Rust |
38+
| [Fila][18] | [C/C++](./src/c/Fila.c) | [Java](./src/java/Fila.java) | [Python](./src/python/fila.py) | Go | [Ruby](./src/ruby/Fila.rb) | [JS](./src/javascript/Fila.js) | Pascal | Swift | [Rust](./src/rust/fila.rs) |
3939
| [Fila Encadeada Dinâmica][19] | [C/C++](./src/c/FilaEncadeadaDinamica.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
4040
| [Grafo][20] | [C/C++](./src/c/Grafos.c) | Java | Python | Go | Ruby | JS | Pascal | Swift | Rust |
4141
| [Lista Circular Ligada][52] | [C/C++](./src/c/ListaCircularLigada.c) | Java | [Python](./src/python/lista_encadeada_circular.py) | Go | Ruby | JS | Pascal | Swift | Rust |

src/rust/fila.rs

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
struct Fila<T> {
2+
fila: Vec<T>
3+
}
4+
5+
impl<T> Fila<T> {
6+
fn new() -> Self {
7+
Fila { fila: Vec::new() }
8+
}
9+
10+
fn length(&self) -> usize {
11+
self.fila.len()
12+
}
13+
14+
fn enqueue(&mut self, item: T) {
15+
self.fila.push(item)
16+
}
17+
18+
fn dequeue(&mut self) -> T {
19+
self.fila.remove(0)
20+
}
21+
fn is_empty(&self) -> bool {
22+
self.fila.is_empty()
23+
}
24+
25+
fn peek(&self) -> Option<&T> {
26+
self.fila.first()
27+
}
28+
}

0 commit comments

Comments
 (0)