http://www.geeksforgeeks.org/populate-inorder-successor-for-all-nodes/
1
#include <iostream>
2
#include <vector>
3
#include <algorithm>
4
#include <queue>
5
#include <stack>
6
#include <
string
>
7
#include <fstream>
8
using
namespace
std;
9
10
struct
node {
11
int
data;
12
struct
node *left, *right, *
next;
13
node() : data(
0
), left(NULL), right(NULL), next(NULL) { }
14
node(
int
d) : data(d), left(NULL), right(NULL), next(NULL) { }
15
};
16
17
void
populate(node *
root) {
18
static
node *next =
NULL;
19
if
(!root)
return
;
20
populate(root->
right);
21
root->next =
next;
22
next =
root;
23
populate(root->
left);
24
}
25
26
int
main() {
27
node *root =
new
node(
10
);
28
root->left =
new
node(
8
);
29
root->right =
new
node(
12
);
30
root->left->left =
new
node(
3
);
31
populate(root);
32
cout << root->data <<
"
->
"
<< (root->next? root->next->data : -
1
) <<
endl;
33
cout << root->left->data <<
"
->
"
<< (root->left->next? root->left->next->data : -
1
) <<
endl;
34
cout << root->right->data <<
"
->
"
<< (root->right->next? root->right->next->data : -
1
) <<
endl;
35
cout << root->left->left->data <<
"
->
"
<< (root->left->left->next? root->left->left->next->data : -
1
) <<
endl;
36
return
0
;
37
}
?
Data Structure Binary Tree: Populate Inorder Successor for all nodes
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

