첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
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
그리드형(광고전용)
Posted by icodebroker
,