voidpre_order_traversal(TreeNode*root){// Do Something with rootif(root->lchild!=NULL)//若其中一側的子樹非空則會讀取其子樹pre_order_traversal(root->lchild);if(root->rchild!=NULL)//另一側的子樹也做相同事pre_order_traversal(root->rchild);}
voidin_order_traversal(TreeNode*root){if(root->lchild!=NULL)//若其中一側的子樹非空則會讀取其子樹in_order_traversal(root->lchild);// Do Something with rootif(root->rchild!=NULL)//另一側的子樹也做相同事in_order_traversal(root->rchild);}
voidpost_order_traversal(TreeNode*root){if(root->lchild!=NULL)//若其中一側的子樹非空則會讀取其子樹post_order_traversal(root->lchild);if(root->rchild!=NULL)//另一側的子樹也做相同事post_order_traversal(root->rchild);// Do Something with root}
voidlevel(TreeNode*node){Queue*queue=initQueue();enQueue(queue,node);while(!isQueueEmpty(queue)){TreeNode*curr=deQueue(queue);// Do Something with currif(curr->lchild!=NULL)enQueue(queue,curr->lchild);if(curr->rchild!=NULL)enQueue(queue,curr->rchild);}}