[RUST/COMMON] Box 구조체 : 열거형을 사용해 단방향 연결 리스트 만들기
■ Box<T> 구조체에서 열거형을 사용해 단방향 연결 리스트를 만드는 방법을 보여준다. ▶ 예제 코드 (RS)
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 |
enum Node { Empty, Cons(i64, Box<Node>) } use Node::{Empty, Cons}; fn node(data : i64, link : Box<Node>) -> Box<Node> { Box::new(Cons(data, link)) } fn main() { let first_node_box : Box<Node> = node(10, node(20, node(30, Box::new(Empty)))); let mut current_pointer : &Box<Node> = &first_node_box; loop { let current_node : &Node = &**current_pointer; match current_node { Empty => break, Cons(data, link) => { println!("{}", data); current_pointer = &link; } } } } /* 10 20 30 */ |