B1043 Is It a Binary Search Tree (BST)

B1043 Is It a Binary Search Tree (25分)

建树,遍历,没啥难度,一步步来就好了

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define lowbit(i)((i)&(-i))
using namespace std;
typedef long long ll;
const int MAX=1020;
const int INF=0x3f3f3f3f;
const int MOD=1000000007;
const int SQR=632;//633块,632个
int n;
int a[MAX];
vectorpre,mirrpre,post,mirrpost,orignal;
//
struct node
{node* lchild;node* rchild;int data;
};
node* newnode(int x)
{node* Node=new node;Node->data=x;Node->lchild=Node->rchild=NULL;return Node;
}
//初始化 node* root=NULL;
//
void Insert(node* &root,int data)
{if(root==NULL){root=newnode(data);return ;}if(datadata)Insert(root->lchild,data);elseInsert(root->rchild,data);
}
///
void preorder(node* root,vector&pre)
{if(root==NULL)return ;pre.push_back(root->data);preorder(root->lchild,pre);preorder(root->rchild,pre);
}
void mirrpreorder(node* root,vector&mirrpre)
{if(root==NULL)return ;mirrpre.push_back(root->data);mirrpreorder(root->rchild,mirrpre);mirrpreorder(root->lchild,mirrpre);
}
void postorder(node* root,vector&post)
{if(root==NULL)return ;postorder(root->lchild,post);postorder(root->rchild,post);post.push_back(root->data);
}
void mirrpostorder(node* root,vector&mirrpost)
{if(root==NULL)return ;mirrpostorder(root->rchild,mirrpost);mirrpostorder(root->lchild,mirrpost);mirrpost.push_back(root->data);
}
int main()
{scanf("%d",&n);node* root=NULL;for(int i=0;i


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部