Exemplo n.º 1
0
/* _preOrder *****************************************************************************
 *
 * @params: node - pointer to next node to output
 *
 * @modifies: outputs full game tree in pre order
 *
 * @returns: nothing
 ****************************************************************************************/
void GST::_preOrder(GSTNode* node) {
	if (node != nullptr) {
		// print this node
		node->board->printBoard();
		std::cout << "Action = (" << node->action.x << ", " << node->action.y << ", " <<
				node->action.score << ")." << std::endl;
		std::cout << std::endl;
		_preOrder(node->childPtr);
		_preOrder(node->siblingPtr);
	}
}
Exemplo n.º 2
0
static void* _preOrder(btree* node)
{
    btree* selectedNode = NULL;

    if(node == NULL)
        return NULL;

    printf("Preorder payload [%c]\n", _getLetter((const char*)node->payload));
    selectedNode = node;
    _preOrder(node->lbranch);
    _preOrder(node->rbranch);

    return selectedNode;
}
Exemplo n.º 3
0
void TCGenBinaryTree::_preOrder(TCBinaryTreeNode* t)
/****************************************************************************
*
* Function:     TCGenBinaryTree::_preOrder
* Parameters:   t   - Root of subtree to perform traversal on
*
* Description:  Recursive routine to perform a pre-order traversal on the
*               subtree.
*
****************************************************************************/
{
    if (t != o_z) {
        o_visit(t);
        _preOrder(t->left);
        _preOrder(t->right);
        }
}
Exemplo n.º 4
0
void TCGenBinaryTree::preOrder(void (*visit)(TCBinaryTreeNode*)) const
/****************************************************************************
*
* Function:     TCGenBinaryTree::preOrder
* Parameters:   visit   - Function to call for each node visited
*
****************************************************************************/
{
    o_z = z;
    o_visit = visit;
    _preOrder(root->right);
}
Exemplo n.º 5
0
void DisplayOrder(enum SearchType sType)
{
    switch(sType)
    {
        case PREORDER:
            _preOrder(GetRoot());
            break;
        case INORDER:
            _inOrder(GetRoot());
            break;
        case POSTORDER:
            _postOrder(GetRoot());
            break;
        default:
            break;
    }
}
Exemplo n.º 6
0
/* preOrder ******************************************************************************
 *
 * @params: none
 *
 * @modifies: outputs full general search tree in pre order
 *
 * @returns: nothing
 ****************************************************************************************/
void GST::preOrder() {
	_preOrder(root);
}