Tree 명령

jjuiddong
Jjuiddong (토론 | 기여) 사용자의 2013년 3월 31일 (일) 15:58 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기

#tree 명령어

static으로 선언된 변수는 작동하지 않는다. (버그 인듯)

#tree 용법
#tree
(
	head: head_expr
	left : left_expr
	right : right_expr
	size : size_expr
	skip: skip_expr

) : disp_expr


의사언어로 표현하면 다음과 같다. (트리를 중위순회 한다.)

$e = current object
count = 0
traverse( head_expr, count )

function traverse( node, count )
{
	++count 
	$e = node
	if ($e == NULL) return;
	if (count > size_expr) exit // 종료
	if ($e == skip_expr) exit // 종료

	traverse( left_expr, count )
	display disp_expr
	traverse( right_expr, count )
}
// sample
struct TreeNode {
    TreeNode *left, *right;
    int value;
};
struct TreeTest {
    TreeNode *head;
    int size;
};
TreeTest {
    children
    (
        #(
            #tree (
                head : $e.head,
                left : left,
                right : right,
                size : $e.size
            ) : &$e
        )
    )
}
개인 도구
이름공간

변수
행위
둘러보기
도구모음