문제
내가 쓰는 Perl 스크립트를 사용하고 싶 n ary 나무 데이터는 구조입니다.
이 구현으로 사용할 수 있는 소스 코드(아닌 부분의 펄 라이브러리)?
다른 팁
난 이해하지 못하고 왜 그것을 원하는"원본"보다는 오히려로 perl 라이브러리,하지만 당신은 다운로드할 수 있는 소스에 대한 모든 CPAN 모듈이 있습니다.
나는 그것을 사용하지 않은하지만, 리 보을 채우기 위해 요구 사항입니다.
당신이 필요에 따라 나무 구조를 위해,필요하지 않을 수도 있습은 어떤 사전 구축된 구현합니다.Perl 이미 지원을 사용하여 그들의 배열 arrayrefs.
예를 들어,간단한 표현이 나무의
t
/ \
a d
/ \ / \
b c e f
될 수 있으로 표시되는 펄 코드:
$tree = [ t => [ a => [ b => [], c => [] ]
d => [ e => [], f => [] ] ] ];
여기에는 나무의 표현이 중첩된 쌍:첫째 요소(이 경우에는,편지)다음 익명으로 배열을 참조 대표하는 어린이들의 요소입니다.Note =>
은 멋진 쉼표 펄에서는 면제할 필요 따옴표를 넣어 주변 토큰을 왼쪽의 쉼표,제공 그것은 하나의 단어입니다.위의 코드도 작성 되었습니다 따라서:
$tree = [ 't', [ 'a' , [ 'b' , [], 'c' , [] ]
'd' , [ 'e' , [], 'f' , [] ] ] ];
여기에 간단한 깊이 첫 번째 어큐뮬레이터의 모든 요소에서 트리:
sub elements {
my $tree = shift;
my @elements;
my @queue = @$tree;
while (@queue) {
my $element = shift @queue;
my $children = shift @queue;
push @elements, $element;
unshift @queue, @$children;
}
return @elements;
}
@elements = elements($tree) # qw(t a b c d e f)
(에 대한 폭넓은 첫번째 줄 변경 unshift @queue, @$children
하기 push @queue, @$children
)
그래서에 따라 작업을 수행할 나무에 가장 간단한 일이 될 수 있을 사용하여 Perl 의 내장에서 지원에 대한 어레이 배열을 참조가 있습니다.
제휴하지 않습니다 StackOverflow