博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[NOIp]二叉树的指针实现
阅读量:6692 次
发布时间:2019-06-25

本文共 1323 字,大约阅读时间需要 4 分钟。

今天学到了二叉树,一开始被那个malloc弄的很迷,后来发现root=(BiTreeNode*)malloc(sizeof(BiTreeNode))的那个星号是在后面的,吐血。。

代码里面有个小技巧,就是typedef struct XXX{...}XXX,这样就使用XXX代替了struct XXX,可以少打一些字了233.

#include
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=data; tot->left=NULL; tot->right=NULL; Father=current=root; while (current!=NULL) { //find the leaf if (current->data
right; } else { Father=current; current=current->left; } } current=Father; if (current->data
right=tot; } else { current->left=tot; }}int main(){ root=(BiTreeNode*)malloc(sizeof(BiTreeNode)); root->data=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;}

 

转载于:https://www.cnblogs.com/pityhero233/p/7305943.html

你可能感兴趣的文章
谈谈多线程开发中的线程和任务的理念
查看>>
vs2017 自定义生成规则 错误 MSB3721 命令 ”已退出,返回代码为 1。
查看>>
WizNote分享笔记至博客
查看>>
Android 编辑框(EditText)属性学习
查看>>
C# 跨线程调用form控件技巧及byte[]与string型相互转换
查看>>
SOCK_RAW编程
查看>>
JavaScript通过ID和name设置样式
查看>>
UML期末绘图及细节总结
查看>>
自建应用新花样,菜鸟也会做应用
查看>>
Servlet监听器(Listener)实例
查看>>
一个resin启动bug的解决
查看>>
571B. Minimization(Codeforces Round #317)
查看>>
Ubuntu查看端口占用情况
查看>>
『科学计算』最小二乘法
查看>>
Bootstrap缩略图
查看>>
Android之实现ViewPager+Fragment左右滑动
查看>>
android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode
查看>>
linux系统下用到的小知识点积累
查看>>
工作中的感悟 (三)三个月碎碎念篇
查看>>
第三百一十节,Django框架,模板语言
查看>>