中序遍历:
//中序遍历非递归 void InOrder(Node* rt){ InitStack(S); p = rt; while(p || !S.empty()){ if(p){ S.push(p); p = p->left; }else{ p = S.top(); S.pop(); printf(p); p = p->right; } } }
中序遍历:
//中序遍历非递归 void InOrder(Node* rt){ InitStack(S); p = rt; while(p || !S.empty()){ if(p){ S.push(p); p = p->left; }else{ p = S.top(); S.pop(); printf(p); p = p->right; } } }