⇒二分木の節は高々2つの子しかもたない
struct node{
struct node *left;
struct node *right;
mydata label;
};
木の節を系統的に1つ残らず調べて、各節に1回だけ立ち寄るようにする操作
void preorder(struct node *p)
{
if(p == NULL){
return;
}
printf("節%cに立ち寄りました\n",p->label);
preorder(p->left);
preorder(p->right);
}
&attachref a→b→c→d の順になる
void inorder(struct node *p)
{
if(p == NULL){
return;
}
inorder(p->left);
printf("節%cに立ち寄りました\n",p->label);
inorder(p->right);
}
&attachref c→b→a→d の順になる
void postorder(struct node *p)
{
if(p == NULL){
return;
}
postorder(p->left);
postorder(p->right);
printf("節%cに立ち寄りました\n",p->label);
}
&attachref c→b→d→a の順になる
参考文献