1. 程式人生 > >二叉樹前序遍歷(遞迴)

二叉樹前序遍歷(遞迴)

typedef struct {
    BTNode* left;
    BTNode* right;
    int data;
} BTNode;

typedef void (*visit_t)(BTNode* node);

void traversal(BTNode* node, visit_t visit) {
    BTNode *left, *right;
    left = node->left;
    right = node->right;
    visit(node);
    if (left) {
        traversal(left, visit);
    }
    if (right) {
        traversal(right, visit);
    }
}