代码拉取完成,页面将自动刷新
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
typedef struct Node {
int data;
struct Node* lchild;
struct Node* rchild;
Node(int val) {
this->data = val;
this->lchild = this->rchild = NULL;
}
}Node;
void visit(Node* item) {
if (item) {
cout << "val:" << item->data << endl;
}
}
void travel(Node* root) {
if (root != NULL) {
travel(root->lchild);
travel(root->rchild);
visit(root);
}
}
void travel_inorder(Node* root) {
if (root == NULL) {
return;
}
Node* p = root;
stack<Node*> s;
while (!s.empty() || p) {
while (p) {
s.push(p);
p = p->lchild;
}
if (!s.empty()) {
p = s.top();
s.pop();
visit(p);
p = p->rchild;
}
}
}
void test() {
Node* root = new Node(-1);
root->lchild = new Node(1);
root->rchild = new Node(2);
root->lchild->lchild = new Node(3);
root->lchild->rchild = new Node(4);
root->rchild->lchild = new Node(5);
root->rchild->rchild = new Node(6);
//travel(root);
travel_inorder(root);
}
int main(int argc, char** argv) {
test();
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。