// ==================== Test Code ====================
void Test(char* testName, BinaryTreeNode* pRoot)
{
    if(testName != NULL)
        printf("%s begins: \n", testName);

    PrintTree(pRoot);

    printf("The nodes from top to bottom, from left to right are: \n");
    PrintFromTopToBottom(pRoot);

    printf("\n\n");
}
int main(int argc, char *argv[])
{
     int level = 1;
     BiTree T = NULL;
     CreateBiTree(&T);

     printf("后序遍历: \n");
     TailOrderTraverse(T, level);
     printf("中序遍历: \n");
     CentreOrderTraverse(T, level);
     printf("前序遍历: \n");
     PreOrderTraverse(T, level);
     printf("层级遍历: \n");
     PrintFromTopToBottom(T);
     return 0;
}
int main(int argc, const char *argv[]) {
    struct BinaryTreeNode node1;
    struct BinaryTreeNode node2;
    struct BinaryTreeNode node3;
    struct BinaryTreeNode node4;
    struct BinaryTreeNode node5;
    struct BinaryTreeNode node6;
    struct BinaryTreeNode node7;
    node1.m_nValue = 8;
    node1.m_pLeft = &node2;
    node1.m_pRight = &node3;
    
    node2.m_nValue = 6;
    node2.m_pLeft = &node4;
    node2.m_pRight = &node5;
    
    node3.m_nValue = 10;
    node3.m_pLeft = &node6;
    node3.m_pRight = &node7;
    
    node4.m_nValue = 5;
    node4.m_pLeft = NULL;
    node4.m_pRight = NULL;
    
    node5.m_nValue = 7;
    node5.m_pLeft = NULL;
    node5.m_pRight = NULL;
    
    node6.m_nValue = 9;
    node6.m_pLeft = NULL;
    node6.m_pRight = NULL;
    
    node7.m_nValue = 11;
    node7.m_pLeft = NULL;
    node7.m_pRight = NULL;
    
    PrintFromTopToBottom(&node1);
    
    return 0;
}