题解 | 二叉排序树

#include <iostream>
using namespace std;
typedef struct btree{
    int data;
    struct btree *left;
    struct btree *right;
}btree;
btree *insert(btree *t,int x)
{
  if(t==NULL)
  {
    t=new btree;
    t->data=x;
    t->left=t->right=NULL;
  }
  
  if(x<t->data)
  t->left=insert(t->left,x);
  if(x>t->data)
  t->right=insert(t->right,x);
  return t;
}
void preorder(btree *t)
{
  if(t==NULL)
  return;
  cout<<t->data<<" ";
  preorder(t->left);
  preorder(t->right);
}
void inorder(btree *t)
{
  if(t==NULL)
  return;
  inorder(t->left);
  cout<<t->data<<" ";
  inorder(t->right);
}
void postorder(btree *t)
{
  if(t==NULL)
  return;
  postorder(t->left);
  postorder(t->right);
  cout<<t->data<<" ";
}
int main() {
    int n;
    while(cin>>n)
    {btree *root=NULL;
    while(n--)
    {
        int x;cin>>x;
        root=insert(root,x);
    }
    preorder(root);
    cout<<endl;
    inorder(root);
    cout<<endl;
    postorder(root);
    cout<<endl;
    }
}

全部评论

相关推荐

码农索隆:这种hr,建议全中国推广
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
简历当中有水分算不算造假...
点赞 评论 收藏
分享
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务