• 板块学术版
  • 楼主wky_wsy_
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/2 18:35
  • 上次更新2025/1/3 11:08:35
查看原帖
1323415
wky_wsy_楼主2025/1/2 18:35

为什么我乱写的二叉树里存的值到 22 就截止了,但是停止生成的条件是 a=0a=0

#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#define int long long
using namespace std;
struct ttree{
	int a;
	ttree *l;
	ttree *r;
};
ttree *head,*r;

void stree(int a,ttree *ead){
	ttree *lp,*rp;
	if(a==0) return ;
	lp=new ttree;
	rp=new ttree;
	lp->a=a;
	rp->a=a; 
	ead->l=lp;
	ead->r=rp;
	stree(a-1,lp);
	stree(a-1,rp);
}
void outtree(int a,ttree *ead){
	if(a==0) return ;
	ttree *lp,*rp;
	cout<<ead->a<<' ';
	lp=ead->l;
	rp=ead->r;
	outtree(a-1,lp);
	outtree(a-1,rp);
}
signed main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	head=new ttree;
	head->a=114514;
	int n;
	cin>>n;
	stree(n,head);
	outtree(n,head);
	return 0;
}
2025/1/2 18:35
加载中...