10 lines
378 B
Plaintext
10 lines
378 B
Plaintext
preorder[a_Integer] := a;
|
|
preorder[a_[b__]] := Flatten@{a, preorder /@ {b}};
|
|
inorder[a_Integer] := a;
|
|
inorder[a_[b_, c_]] := Flatten@{inorder@b, a, inorder@c};
|
|
inorder[a_[b_]] := Flatten@{inorder@b, a}; postorder[a_Integer] := a;
|
|
postorder[a_[b__]] := Flatten@{postorder /@ {b}, a};
|
|
levelorder[a_] :=
|
|
Flatten[Table[Level[a, {n}], {n, 0, Depth@a}]] /. {b_Integer[__] :>
|
|
b};
|