Void postorderthreading (TREE * const ptree); <br/> static void postorder_threading (TREE * const ptree, node ** const previous); <br/> void postorderthreadedtraversal (const TREE tree, void (* pfun) (const item); <br/> static void a_recursive_function_for_postorder_threaded (const tree * const ptree, const node * const pnode ); </P> <p> void postorderthreading (TREE * const ptree) <br/> {<br/> Node * Previous = NULL; </P> <p> postorder_threading (ptree, & previous ); <br/>}</P> <p> static void postorder_threading (TREE * const ptree, node ** const previous) <br/>{< br/> If (* ptree! = NULL) <br/>{< br/> postorder_threading (& (* ptree)-> left, previous); <br/> postorder_threading (& (* ptree) -> right, previous); <br/> If (null = (* ptree)-> left) <br/>{< br/> (* ptree) -> left_tag = thread; <br/> (* ptree)-> left = * Previous; <br/>}< br/> If (* Previous! = NULL) <br/> If (null = (* Previous)-> right) <br/> {<br/> (* Previous)-> right_tag = thread; <br/> (* Previous)-> right = * ptree; <br/>}< br/> * Previous = * ptree; <br/>}</P> <p> void postorderthreadedtraversal (const tree, void (* pfun) (const item )) <br/> {<br/> node * scan = tree; </P> <p> while (link = scan-> left_tag) <br/> scan = scan-> left; <br/> while (thread = scan-> righ T_tag) <br/>{< br/> (* pfun) (scan-> item); <br/> scan = scan-> right; <br/>}< br/> (* pfun) (scan-> item); <br/> scan = findmin (& tree-> right ); <br/> while (thread = scan-> right_tag) <br/> {<br/> (* pfun) (scan-> item ); <br/> scan = scan-> right; <br/>}< br/> a_recursive_function_for_postorder_threaded (& tree, scan-> right ); <br/>}</P> <p> static void a_recursive_function_for_postorder_th Readed (const tree * const ptree, const node * const pnode) <br/>{< br/> If (* ptree! = Pnode) <br/>{< br/> a_recursive_function_for_postorder_threaded (& (* ptree)-> right, pnode); <br/> printf ("% d ", (* ptree)-> item); <br/>}< br/>