void InOrderTraversal( BinTree BT )
{
BinTree T = BT;
Stack S = CreatStack( MaxSize ); // 创建堆栈
while ( T || !IsEmpty( S ) ) {
while ( T ) { // 遍历左子树,并将左子树压入堆栈
Push( S, T );
T = T->Left;
}
if ( !IsEmpty( S ) ) {
T = Pop( S ); // 将结点弹出堆栈
printf( "%5d", T->Data );
T = T->Data; // 转向右子树
}
}
}