Java实现链式存储的二叉查找树(递归方法)(四)

2015-07-20 12:52:51 · 作者: · 浏览: 107
reeNode tempNode = node;? //遍历指针
? ? ? ? while(tempNode != null || !nodeStack.isEmpty()){
? ? ? ? ? ? if(tempNode != null){
? ? ? ? ? ? ? ? nodeStack.push(tempNode);
? ? ? ? ? ? ? ? tempNode = tempNode.getLchild();
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? tempNode = nodeStack.pop();
? ? ? ? ? ? ? ? System.out.print(tempNode.getData() + " ");
? ? ? ? ? ? ? ? tempNode = tempNode.getRchild();
? ? ? ? ? ? }
? ? ? ? }
? ? }


3. 得到二叉查找树的最大值和最小值:


//查找最大值:不断地寻找右子节点
? ? public TreeNode getMaxData(TreeNode node){
? ? ? ? TreeNode tempNode = node;

? ? ? ? while(tempNode.getRchild()!=null){
? ? ? ? ? ? tempNode = tempNode.getRchild();
? ? ? ? }
? ? ? ? return tempNode;
? ? }
? ?
? ? //查找最小值:不断地寻找左子节点
? ? public TreeNode getMinData(TreeNode node){
? ? ? ? TreeNode tempNode = node;
? ? ? ? while(tempNode.getLchild() != null){
? ? ? ? ? ? tempNode = tempNode.getLchild();
? ? ? ? }
? ? ? ? return tempNode;
? ? }