コード例 #1
0
ファイル: bst.hpp プロジェクト: VincentXWD/ds_exp
	void bst<type>::_inorder(np cur, void(*visit)(type data)) {
		if (cur != NULL) {
			_inorder(cur->left, visit);
			(*visit)(cur->_data);
			_inorder(cur->right, visit);
		}
	}
コード例 #2
0
ファイル: BST.cpp プロジェクト: kobortor/Joey-CS-templates
	void treap::_inorder(node *pos) {
		if (pos == nullptr) {
			return;
		}
		_inorder(pos->left);
		std::cout << pos->val << " ";
		_inorder(pos->right);
	}
コード例 #3
0
ファイル: tree_to_ll.c プロジェクト: syedahsan/codes
void _inorder(tree *root)
{
        if (root == NULL)
                return;

        _inorder(root->left);
        printf("%d ", root->data);
        _inorder(root->right);
}
コード例 #4
0
ファイル: tree.hpp プロジェクト: mboghiu/try
static void _inorder(std::stringstream& ss, Node* node)
{
    if (node == nullptr)
        return;

    _inorder(ss, node->left);
    ss << node->data << "|";
    _inorder(ss, node->right);
}
コード例 #5
0
void BinaryTree::_inorder(void visit(Website &), BinaryNode* nodePtr) const
{
    // left-root-right
    if (nodePtr == 0)
    {
        return;
    }
    _inorder(visit, nodePtr->getLeftPtr());
    Website web = nodePtr->getWebsite();
    visit(web);
    _inorder(visit, nodePtr->getRightPtr());
}
コード例 #6
0
void BinaryTree::_inorder(void visit(Website &),
                                    BinaryNode* nodePtr,
                                    const Website & minItem,
                                    const Website & maxItem) const
{
    // Node is null
    if (nodePtr == 0)
    {
        return;
    }
    
    // Node is outside of desired range
    Website currentItem = nodePtr->getWebsite();
    if (currentItem < minItem || currentItem > maxItem)
    {
        return;
    }
    
    _inorder(visit, nodePtr->getLeftPtr(), minItem, maxItem);
    visit(currentItem);
    _inorder(visit, nodePtr->getRightPtr(), minItem, maxItem);
}
コード例 #7
0
ファイル: BST.cpp プロジェクト: kobortor/Joey-CS-templates
	void treap::inorder() {
		_inorder(root);
	}
コード例 #8
0
ファイル: tree_to_ll.c プロジェクト: syedahsan/codes
void print_inorder(tree *root)
{
        _inorder(root);
        printf("\n");
}
コード例 #9
0
ファイル: tree.hpp プロジェクト: mboghiu/try
std::string bt<T>::DFTraverse_inorder() const
{
    std::stringstream ss;
    _inorder(ss, _tree);
    return std::move(ss.str());
}
コード例 #10
0
ファイル: answer10.c プロジェクト: chenyiyi/ECE264
void inorder(struct YelpDataBST* bst) {
	_inorder( bst->root );
}
コード例 #11
0
ファイル: answer10.c プロジェクト: chenyiyi/ECE264
// inorder of bst
void _inorder(struct BSTnode* root) {
	if( root ==NULL ) return ;
	_inorder( root->left );
	printf( "business = %s\n" , root->business->name );
	_inorder( root->right );
}
コード例 #12
0
void BinaryTree::inOrder(void visit(Website &),
                                   const Website & minItem,
                                   const Website & maxItem) const
{
    _inorder(visit, rootPtr, minItem, maxItem);
}
コード例 #13
0
    void sortedPrint(Node<int> *root1,Node<int> *root2)
    {
        if(root1 == 0)
        {
            _inorder(root1);
            return;
        }
        if(root2 == 0)
        {
            _inorder(root2);
            return;
        }
        stack<Node<int> *> s1,s2;
        Node<int> *curr1,*curr2;
        curr1 = root1;
        curr2 = root2;
        Node<int> *one,*two;
        while(curr1 || curr2 || !s1.empty() || !s2.empty())
        {
            while(curr1)
            {
                s1.push(curr1);
                curr1 = curr1->mLeft;
            }
            while(curr2)
            {
                s2.push(curr2);
                curr2 = curr2->mLeft;
            }
            if(!s1.empty() && !s2.empty())
            {
                one = s1.top();
                two = s2.top();
                if(one->mData > two->mData)
                {
                    cout << two->mData << ",";
                    s2.pop();
                    curr2 = two->mRight;
                }
                else
                {
                    cout << one->mData << ",";
                    s1.pop();
                    curr1 = one->mRight;
                }
            }
            else if(!s1.empty() && s2.empty())
            {
                one = s1.top();
                cout << one->mData << ",";
                s1.pop();
                curr1 = one->mRight;
            }
            else if(!s2.empty() && s1.empty())
            {
                two = s2.top();
                cout << two->mData << ",";
                s2.pop();
                curr2 = two->mRight;
            }

        }
    }
コード例 #14
0
ファイル: bst.hpp プロジェクト: VincentXWD/ds_exp
		void inorder(void(*visit)(type)) { _inorder(_root, visit); };