首页 > 代码库 > [NOIp]二叉树的指针实现
[NOIp]二叉树的指针实现
今天学到了二叉树,一开始被那个malloc弄的很迷,后来发现root=(BiTreeNode*)malloc(sizeof(BiTreeNode))的那个星号是在后面的,吐血。。
代码里面有个小技巧,就是typedef struct XXX{...}XXX,这样就使用XXX代替了struct XXX,可以少打一些字了233.
#include<bits/stdc++.h>using namespace std;typedef struct BiTreeNode { int data; BiTreeNode* left; BiTreeNode* right; void operator =(BiTreeNode* b) { data=b->data; left=b->left; right=b->right; };} BiTreeNode;BiTreeNode *root;void Create(BiTreeNode* root,int data) { //add a node to the tree BiTreeNode* tot; BiTreeNode* Father; BiTreeNode* current; tot=(BiTreeNode*)malloc(sizeof(BiTreeNode));//the new point tot->data=http://www.mamicode.com/data; tot->left=NULL; tot->right=NULL; Father=current=root; while (current!=NULL) { //find the leaf if (current->data<data) { Father=current; current=current->right; } else { Father=current; current=current->left; } } current=Father; if (current->data<data) { current->right=tot; } else { current->left=tot; }}int main(){ root=(BiTreeNode*)malloc(sizeof(BiTreeNode)); root->data=http://www.mamicode.com/10; root->left=NULL; root->right=NULL; Create(root,25); Create(root,5); Create(root,30); Create(root,12408); Create(root,233); cout<<233; return 0;}
[NOIp]二叉树的指针实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。