80分求助
查看原帖
80分求助
939193
hehedago_QAQ_楼主2023/8/19 13:09

80分求助

#include<bits/stdc++.h>
using namespace std;
struct point{
	int data,lson,rson;
}a[100001];
int n;
void xxbl(int root){
	if(root==0)return ;
	cout<<a[root].data<<' ';
	xxbl(a[root].lson);
	xxbl(a[root].rson);
}
void merge(int t,int root){
	if(a[root].data==a[t].data)return ;
	else if(a[root].data>a[t].data)
	{
		if(a[root].lson!=0)merge(t,a[root].lson);
		else a[root].lson=t;
	}
	else{
		if(a[root].rson!=0)merge(t,a[root].rson);	
		else a[root].rson=t;	
	}
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i].data);
		merge(i,1);
	}
	xxbl(1);
}

那里错了?

2023/8/19 13:09
加载中...