postin.cpp

来自「给定一棵有n 个结点的二叉树」· C++ 代码 · 共 40 行

CPP
40
字号
#include<iostream>
using namespace std;
void postin(int *t,int *m,int n){
	if(n==0) return;
	int lchild,rchild;
	for(int x1=0;x1<n;x1++)
		if(m[x1]==t[n-1]){lchild=x1;break;}
		cout<<t[n-1]<<" ";
		rchild=n-lchild-1;
		int *t_lchild=new int[lchild],*t_rchild=new int[rchild];
		int *m_lchild=new int[lchild],*m_rchild=new int[rchild];
		for(int x2=0;x2<lchild;x2++){
			m_lchild[x2]=m[x2];
			t_lchild[x2]=t[x2];
		}
		for(int x3=0;x3<rchild;x3++)
			m_rchild[x3]=m[lchild+x3+1];
		for(int x4=0;x4<rchild;x4++)
			t_rchild[x4]=t[lchild+x4];
		postin(t_lchild,m_lchild,lchild);
		postin(t_rchild,m_rchild,rchild);
		delete[]m_lchild;
		delete[]m_rchild;
		delete[]t_lchild;
		delete[]t_rchild;
}
void main(){
	freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
	int n;
	cin>>n;
	int *t=new int[n],*m=new int[n];
	for(int i=0;i<n;i++)
		cin>>t[i];
	for(int j=0;j<n;j++)
		cin>>m[j];
	postin(t,m,n);
	delete[]t;
	delete[]m;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?