树
查看原帖
树
1015002
Charles_with_wkc楼主2024/6/3 20:37

悬0关,手写树,先序正确,中序和后序错误

#include<bits/stdc++.h>
using namespace std;
const int N=105;
struct fun_bitree_struct{
	int fun_bitree_me,fun_bitree_lchild,fun_bitree_rchild;
}fun_bitree[N];
string fun_bitree_str;
int fun_bitree_node,fun_bitree_father,fun_bitree_l,fun_bitree_r,fun_bitree_x;
void fun_bitree_child(int father,int l,int r){
	fun_bitree[father].fun_bitree_lchild=l;
	fun_bitree[father].fun_bitree_rchild=r;
	fun_bitree[father].fun_bitree_me=father;
	return ;
}
void fun_bitree_first(int father){
	cout<<fun_bitree[father].fun_bitree_me<<" ";
	if(fun_bitree[father].fun_bitree_lchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_lchild);
	}
	if(fun_bitree[father].fun_bitree_rchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_rchild);
	}
	return ;
}
void fun_bitree_mid(int father){
	if(fun_bitree[father].fun_bitree_lchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_lchild);
	}
	cout<<fun_bitree[father].fun_bitree_me<<" ";
	if(fun_bitree[father].fun_bitree_rchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_rchild);
	}
	return ;
}
void fun_bitree_last(int father){
	if(fun_bitree[father].fun_bitree_lchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_lchild);
	}
	if(fun_bitree[father].fun_bitree_rchild!=-1){
		fun_bitree_first(fun_bitree[father].fun_bitree_rchild);
	}
	cout<<fun_bitree[father].fun_bitree_me<<" ";
	return ;
}
int main(){
	cin>>fun_bitree_x;
	while(fun_bitree_x--){
		cin>>fun_bitree_father;
		while(fun_bitree_father!=-1){
			cin>>fun_bitree_l>>fun_bitree_r;
			fun_bitree_child(fun_bitree_father,fun_bitree_l,fun_bitree_r);
			cin>>fun_bitree_father;
		}
		cin>>fun_bitree_node;
		while(fun_bitree_node--){
			cin>>fun_bitree_str;
			if(fun_bitree_str=="first"){
				fun_bitree_first(1);
			}
			else if(fun_bitree_str=="mid"){
				fun_bitree_mid(1);
			}
			else if(fun_bitree_str=="last"){
				fun_bitree_last(1);
			}
		}
	}
	return 0;
}
2024/6/3 20:37
加载中...