728x90
728x170
■ Box<T> 구조체에서 열거형을 사용해 단방향 연결 리스트를 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
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
*/
728x90
그리드형(광고전용)
'Rust > Common' 카테고리의 다른 글
[RUST/COMMON] Rc<T>/Weak<T> 구조체를 사용해 양방향 연결 리스트 만들기 (0) | 2023.06.14 |
---|---|
[RUST/COMMON] RefCell<T> 구조체 : borrow/borrow_mut 메소드 사용하기 (0) | 2023.06.12 |
[RUST/COMMON] Rc<T> 구조체 : new/clone/strong_count 연관 함수 사용하기 (0) | 2023.06.12 |
[RUST/COMMON] Box<T> 구조체 : 단방향 연결 리스트 만들기 (기능 추가) (0) | 2023.06.12 |
[RUST/COMMON] Box<T> 구조체 : 값 T 구하기 (0) | 2023.06.10 |
[RUST/COMMON] Box<T> 구조체 : 단방향 연결 리스트 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : 재귀 호출 매크로 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : 특정 값의 레이블을 구하는 매크로 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : HashMap 객체를 초기화하는 매크로 만들기 (0) | 2023.06.09 |
[RUST/COMMON] macro_rules! 매크로 : BASIC 언어의 for문 매크로 만들기 (0) | 2023.06.09 |