1、编写二叉树基本操作算法(可如下所示函数,也可自定义,能实现即可)①算法5.2中序遍历二叉树T的非递归算法void InOrderTraverse1(BiTree T) 2、编写主函数,调用上述算法实现二叉树的中序遍历操作。
时间: 2024-02-17 12:04:38 浏览: 127
1. 二叉树基本操作算法如下:
```
typedef struct BiTNode {
int data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
/* 中序遍历二叉树的非递归算法 */
void InOrderTraverse1(BiTree T) {
stack<BiTree> S;
BiTree p = T;
while (p || !S.empty()) {
if (p) {
S.push(p);
p = p->lchild;
} else {
p = S.top();
S.pop();
printf("%d ", p->data);
p = p->rchild;
}
}
}
```
2. 主函数如下:
```
int main() {
BiTree T = NULL;
// 创建二叉树
InOrderTraverse1(T);
return 0;
}
```
其中,需要自行创建二叉树并传入 `InOrderTraverse1()` 函数中进行中序遍历。
阅读全文
相关推荐

















