在以后的一段时间内学习的重点为数据结构。目前进行树这部分的学习。 前几天将树这部分的PPT看了一遍。今天动手进行练习。 些的程序如下: //树结点的结构typedef struct node...{ char data; struct node *lchild,*rchild;}JD;//先序构造树结构JD* CreatBinaryTree_Pre(JD* pHead)...{ char szCurrent; cout << "Please enter the member of the tree." << endl; cin >> szCurrent; if ('x' == szCurrent) ...{ pHead = NULL; } else ...{ pHead = new JD; pHead->data = szCurrent; pHead->lchild = CreatBinaryTree_Pre(pHead->lchild); pHead->rchild = CreatBinaryTree_Pre(pHead->rchild); } return(pHead);}//递归计算树结点数int CountLeaves(JD* pHead)...{ int nCount = 0; if (NULL == pHead) return 0; if ((NULL == pHead->lchild) && (NULL == pHead->rchild)) return 1; nCount = CountLeaves(pHead->lchild) + CountLeaves(pHead->rchild); return nCount;}//递归计算树的层数int CountBinaryTreeLevels(JD* pHead)...{ int nLevels; if (NULL == pHead) nLevels = 0; else if ((NULL == pHead->lchild) && (NULL == pHead->rchild)) nLevels = 1; else ...{ int nLLevels = CountBinaryTreeLevels(pHead->lchild); int nRLevels = CountBinaryTreeLevels(pHead->rchild); nLevels = ( (nLLevels > nRLevels) ? nLLevels : nRLevels ) + 1; } return nLevels;}