File tree 2 files changed +30
-0
lines changed
2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ #[ derive( Debug ) ]
1
2
struct Deque < T > {
2
3
deque : Vec < T >
3
4
}
@@ -38,4 +39,20 @@ impl<T> Deque<T> {
38
39
fn peek_last ( & self ) -> Option < & T > {
39
40
self . deque . last ( )
40
41
}
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( ) ) ;
41
58
}
Original file line number Diff line number Diff line change
1
+ #[ derive( Debug ) ]
1
2
struct Fila < T > {
2
3
fila : Vec < T >
3
4
}
@@ -25,4 +26,16 @@ impl<T> Fila<T> {
25
26
fn peek ( & self ) -> Option < & T > {
26
27
self . fila . first ( )
27
28
}
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( ) ) ;
28
41
}
You can’t perform that action at this time.
0 commit comments