示例#1
0
bool AvlTree::nodeFind(Node* rootNode , int data){
	if (rootNode == NULL){
		return false;
	}
	if(rootNode -> data == data){
		return true;
	}
	if (rootNode -> data > data){
		return nodeFind(rootNode -> left , data);
	}else{
		return nodeFind(rootNode -> right, data);
	}
}
示例#2
0
文件: bst.cpp 项目: cgel/dstrucs
bool Tree<T>::erase(const T& key)
{
  TreeNode* n = nodeFind(key);
  short int c = nChilds(n);
  
  // if this node has 1+ childs
  if(n->right || n->left)
  {

  }
  else { // no childs

  }
}
示例#3
0
文件: bst.cpp 项目: cgel/dstrucs
T* Tree<T>::find(const T& key) const
{
  TreeNode* n = nodeFind(key);
  if (n != NULL) return &n->key;
  else return NULL;
}