非递归前序遍历二叉树概论.pptxVIP

  • 1
  • 0
  • 约1.2千字
  • 约 42页
  • 2017-06-17 发布于湖北
  • 举报
二叉树的非递归遍历 非递归前序遍历二叉树: 先访问根节点,再访问左子树, 最后访问右子树。 设置一个栈,出栈即为访问节点。 先将根节点进栈,在栈不空时一直如下循环:出栈,访问,将其右孩子进栈,再将左孩子进栈。 void PreOrderTraverse(BTNode *T, Status (*visit)(ElementType e)) { BTNode *stack[MAX_SIZE], *p; int top = -1; if(T != NULL) { stack[++top] = T; while(top -1) { p = stack[top--]; visit(p-data); if(p-rchild != NULL) { stack[++top] = p-rchild; } if(p-lchild != NULL) { stack[++top] = p-lchild; } } } } 设置一个栈,出栈即为访问该结

文档评论(0)

1亿VIP精品文档

相关文档