Skip to content

Commit 890a734

Browse files
committed
Exemplo para deque e fila
1 parent e97ed2a commit 890a734

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/rust/deque.rs

+17
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#[derive(Debug)]
12
struct Deque<T> {
23
deque: Vec<T>
34
}
@@ -38,4 +39,20 @@ impl<T> Deque<T> {
3839
fn peek_last(&self) -> Option<&T> {
3940
self.deque.last()
4041
}
42+
}
43+
44+
fn main(){
45+
let mut deque: Deque<i32> = Deque::<i32>::new();
46+
deque.add_first(1);
47+
deque.add_last(2);
48+
deque.add_first(3);
49+
println!("{:?}", deque);
50+
deque.remove_last();
51+
deque.remove_first();
52+
println!("{:?}", deque);
53+
println!("length: {:?}, is empty? {:?}", deque.length(), deque.is_empty());
54+
deque.add_first(1);
55+
deque.add_last(2);
56+
deque.add_first(3);
57+
println!("{:?}, {:?}", deque.peek(), deque.peek_last());
4158
}

src/rust/fila.rs

+13
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#[derive(Debug)]
12
struct Fila<T> {
23
fila: Vec<T>
34
}
@@ -25,4 +26,16 @@ impl<T> Fila<T> {
2526
fn peek(&self) -> Option<&T> {
2627
self.fila.first()
2728
}
29+
}
30+
31+
fn main(){
32+
let mut fila: Fila<i32> = Fila::<i32>::new();
33+
fila.enqueue(1);
34+
println!("{:?}", fila);
35+
fila.dequeue();
36+
println!("length: {:?}, is empty? {:?}", fila.length(), fila.is_empty());
37+
fila.enqueue(1);
38+
fila.enqueue(2);
39+
fila.enqueue(3);
40+
println!("{:?}", fila.peek());
2841
}

0 commit comments

Comments
 (0)