试编写算法求键值为k结点在给定的二叉排序树中所在的层数。
试编写算法求键值为k结点在给定的二叉排序树中所在的层数。
【正确答案】:算法描述如下: int level_count(BinTree bst,KeyType k) //求键值为k结点在给定的二叉排序树中所在的层数 { int lev=0; BSTNode*P=bst; while(p!=NULL) { lev++; if(p一>data==k)return lev; //返回结果 if(p—>datarchild; //向右走 else p=p一>lchild; //向左走 } return 0; //没有对应结点 }
Top