二叉树遍历模板(递归,非指针)
前序遍历:
void search(int x)
cout<<a[x].self;
if(a[x].left!=-1)search(a[x].left);
if(a[x].right!=-1) search(a[x].right);
先输出自己,再输出左儿子,其次是右儿子;
中序遍历:
void search(int x)
if(a[x].left!=-1)search(a[x].left);
cout<<a[x].self;
if(a[x].right!=-1) search(a[x].right);
后序遍历:
void search(int x)
if(a[x].left!=-1)search(a[x].left);
if(a[x].right!=-1) search(a[x].right);
cout<<a[x].self;

浙公网安备 33010602011771号