Binary Search Tree Insertion in C++



1 #include <iostream> 2 #include <cstdlib> 3 struct BSTNode{ 4 int v; 5 struct BSTNode *left,*right; 6 }; 7 8 struct BSTNode *root=NULL; 9 10 struct BSTNode* createNode(int data){ 11 struct BSTNode *newNode; 12 newNode=(struct BSTNode*)malloc(sizeof(struct BSTNode)); 13 newNode->v=data; 14 newNode->left=NULL; 15 newNode->right=NULL; 16 return newNode; 17 } 18 19 void insertion(struct BSTNode **node,int data){ 20 if(*node==NULL){ 21 *node=createNode(data); 22 }else if(data<(*node)->v){ 23 insertion(&(*node)->left,data); 24 }else if(data>(*node)->v){ 25 insertion(&(*node)->right,data); 26 } 27 } 28 void traverse(struct BSTNode *node){ 29 if(node!=NULL){ 30 traverse(node->left); 31 std::cout<<node->v; 32 traverse(node->right); 33 } 34 return; 35 } 36 int main(){ 37 int data,ch; 38 insertion(&root,10); 39 insertion(&root,16); 40 insertion(&root,8); 41 insertion(&root,20); 42 insertion(&root,21); 43 traverse(root); 44 std::cin>>data; 45 }

 

转载于:https://www.cnblogs.com/songwanzi/p/3504904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值