在二叉搜索树中,中序遍历实际上就是将每个节点的权值由小到大排序。对于每一个非根节点,在通过其父节点遍历它时将其压入栈,在即将遍历其右子树时退栈。按照这种方式,一开始栈为空,先将根节点压入栈开始遍历,到整棵树中权值最大的节点(也就是最“右”的节点)被遍历结束。具体过程是:对于栈顶的节点,将其左节点压入栈。如果没有左节点或左节点已被访问,就退栈并压入右节点。可以说,每个节点都是由于栈顶节点存在而被压入栈中。如果栈为空,就没有节点可以再被压入,遍历结束。