此例也是考试用题,供大家参考。
void binarytree_count(BinaryTree *root)
{
BinaryTree *node;int count;
/*使用辅助队列,设进队函数为void in(BinaryTree* Node),出队函数为BinaryTree *out(),判断队列空的函数int isempty()*/
in(root)
while(!isempty())
{
node=out();
if(node->left!=null) in(node->left);
if(node->right!=null) in(node->right);
if(node->left!=null||node->right!=null) count++;
}
return count;
}