#include <iostream>
using namespace std;
template < class T>
struct Node {
T data;
Node* left;
Node* right;
} ;
Node< int > * getTop( ) {
Node< int > * top = new Node< int > { 1 , nullptr, nullptr} ;
top- > left = new Node< int > { 2 , nullptr, nullptr} ;
top- > left- > left = new Node< int > { 3 , nullptr, nullptr} ;
top- > left- > right = new Node< int > { 5 , nullptr, nullptr} ;
top- > left- > right- > left = new Node< int > { 4 , nullptr, nullptr} ;
top- > right = new Node< int > { 6 , nullptr, nullptr} ;
top- > right- > right = new Node< int > { 8 , nullptr, nullptr} ;
top- > right- > right- > left = new Node< int > { 7 , nullptr, nullptr} ;
top- > right- > right- > right = new Node< int > { 9 , nullptr, nullptr} ;
return top;
}
int main( )
{
auto top = getTop( ) ;
auto seven = tree_get( top, right, right, left) ; // 7
auto four = tree_get( top, left, right, left) ; // 4
std:: cout << seven- > data << ' ' << four- > data;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDxjbGFzcyBUPgpzdHJ1Y3QgTm9kZSB7CiAgICBUIGRhdGE7CiAgICBOb2RlKiBsZWZ0OwogICAgTm9kZSogcmlnaHQ7Cn07CgpOb2RlPGludD4qIGdldFRvcCgpIHsKICAgIE5vZGU8aW50PiogdG9wID0gbmV3IE5vZGU8aW50PnsxLCBudWxscHRyLCBudWxscHRyfTsKICAgIHRvcC0+bGVmdCA9IG5ldyBOb2RlPGludD57MiwgbnVsbHB0ciwgbnVsbHB0cn07CiAgICB0b3AtPmxlZnQtPmxlZnQgPSBuZXcgTm9kZTxpbnQ+ezMsIG51bGxwdHIsIG51bGxwdHJ9OwogICAgdG9wLT5sZWZ0LT5yaWdodCA9IG5ldyBOb2RlPGludD57NSwgbnVsbHB0ciwgbnVsbHB0cn07CiAgICB0b3AtPmxlZnQtPnJpZ2h0LT5sZWZ0ID0gbmV3IE5vZGU8aW50Pns0LCBudWxscHRyLCBudWxscHRyfTsKICAgIHRvcC0+cmlnaHQgPSBuZXcgTm9kZTxpbnQ+ezYsIG51bGxwdHIsIG51bGxwdHJ9OwogICAgdG9wLT5yaWdodC0+cmlnaHQgPSBuZXcgTm9kZTxpbnQ+ezgsIG51bGxwdHIsIG51bGxwdHJ9OwogICAgdG9wLT5yaWdodC0+cmlnaHQtPmxlZnQgPSBuZXcgTm9kZTxpbnQ+ezcsIG51bGxwdHIsIG51bGxwdHJ9OwogICAgdG9wLT5yaWdodC0+cmlnaHQtPnJpZ2h0ID0gbmV3IE5vZGU8aW50Pns5LCBudWxscHRyLCBudWxscHRyfTsKICAgIHJldHVybiB0b3A7Cn0KCmludCBtYWluKCkKewogICAgYXV0byB0b3AgPSBnZXRUb3AoKTsKICAgIGF1dG8gc2V2ZW4gPSB0cmVlX2dldCh0b3AsIHJpZ2h0LCByaWdodCwgbGVmdCk7IC8vIDcKICAgIGF1dG8gZm91ciA9IHRyZWVfZ2V0KHRvcCwgbGVmdCwgcmlnaHQsIGxlZnQpOyAvLyA0CiAgICBzdGQ6OmNvdXQgPDwgc2V2ZW4tPmRhdGEgPDwgJyAnIDw8IGZvdXItPmRhdGE7CgogICAgcmV0dXJuIDA7Cn0=
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:28:18: error: ‘tree_get’ was not declared in this scope
auto seven = tree_get(top, right, right, left); // 7
^~~~~~~~
prog.cpp:28:18: note: suggested alternative: ‘time_t’
auto seven = tree_get(top, right, right, left); // 7
^~~~~~~~
time_t
stdout