/*p 为二叉树的根结点 bt=p; else // 已建立二叉树根结点{switch(k) {case 1:St[top]->lchild=p;break; case 2:St[top]->rchild=p;break; }}break; }j++; ch=str[j]; }}void DestroyBTree( BTNode *&bt) // 销毁二叉树{if (bt!=NULL) {DestroyBTree(bt->lchild); DestroyBTree(bt->rchild); free(bt); }} void DispBTree( BTNode *bt) // 输出二叉树{if (bt!=NULL) {printf("%d",bt->data); if (bt->lchild!=NULL || bt->rchild!=NULL) {printf("("); // 有子树时输入'(' DispBTree(bt->lchild); // 递归处理左子树 if (bt->rchild!=NULL) // 有右子树时输入'.' printf(","); DispBTree(bt->rchild); // 递归处理右子树 printf(")"); // 子树输出完毕,再输入一个')' }}}void main() {BTNode *bt; char a[]="25(18(2(,4(,11))),46(39(32),53(,74(67(60)))))"; CreateBTree(bt,a); printf(" 二叉树:"); DispBTree(bt); printf("\n"); if (judgeBST(bt)) printf(" 该二叉树是一棵 BST\n"); else printf(" 该二叉树不是一棵 BST\n"); DestroyBTree(bt); }