CLJ树


#include <iostream>
using namespace std;

struct node {
    int value;
    node* up;
    node* son[2]; // son[0]是左孩子, son[1]是右孩子
    node() {
        son[0] = son[1] = NULL;
    }
    void born(bool k) { // 生一个孩子结点
        this->son[k] = new node();
    }
    bool check() { // 检查自己是父亲的左孩子还是右孩子
        return this->up->son[1]==this;
    }
};