rt
Code:
#include<cstdio>
using namespace std;
struct node {
int key;
node *left,*right;
};
const int maxn=1001;
int n,a,b[maxn],top=0;
node* root=nullptr;
void insert(int x,node* cur=root) {
if(cur==nullptr) {
cur=new node;
cur->key=x;
cur->left=cur->right=nullptr;
return;
}
if((cur->key)>x) insert(x,cur->left);
else insert(x,cur->right);
}
void print(node* cur=root) {
if(cur->left!=nullptr) print(cur->left);
printf("%d ",cur->key);
if(cur->right!=nullptr) print(cur->right);
}
int main() {
freopen("test.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&a),insert(a);
print();
return 0;
}
test.in
中的输入数据是:
10
dbfegac
dfgebca
浅查问题出在print()
里,好像是cur->xxx
访问不了。