当前位置: 首页 > news >正文

网站建设维护兼职用别人公司名字做网站违法么

网站建设维护兼职,用别人公司名字做网站违法么,招聘网站建设费用多少钱,大浪网站建设之前写了好多篇文章关于数据结构的#xff0c;既然讲到了数据结构#xff0c;那么就必须要说一下树#xff0c;树这个数据结构使用范围非常广#xff0c;应用前景广阔。关联文章#xff1a;五分钟搞懂什么是红黑树#xff08;全程图解#xff09;Linux 内核红黑树分析这… 之前写了好多篇文章关于数据结构的既然讲到了数据结构那么就必须要说一下树树这个数据结构使用范围非常广应用前景广阔。关联文章五分钟搞懂什么是红黑树全程图解Linux 内核红黑树分析这篇文章主要是讲解最简单的一个树的构成并用代码实现。声明节点结构体/*树节点*/typedef struct node{ int data; struct node * left; /*节点左边的树枝*/ struct node * right;/*节点右边的树枝*/}Node;data 是这个节点的数据left是这个节点指向左边节点的指针right 是指向右边节点的指针。声明根节点结构体/*树根*/typedef struct tree{ Node * root;}Tree;根节点也是一个节点只不过这个节点代表了这棵树这个节点存在就代表这棵树没有死。定义一个根节点 Tree tree; tree.root NULL;/*创建一个空树*/像节点插入一个数据我们现在模拟一下插入一个数据 5/*插入函数 向一个树里面插入数据*/void insert(Tree* tree, int value){ /*创建一个节点*/ Node* node(Node*)malloc(sizeof(Node)); node-data value; node-left NULL; node-right NULL; /*判断树是不是空树*/ if (tree-root NULL) { tree-root node; } //.......}我们会先判断 这个树是不是空的如果是空的就把这树根指向这个 node 节点。我们再插入一个数据 4因为 4 小于 5所以我们需要把 4插入到 5 的左边节点去。insert(tree, temp);所以就变成这样我们再插入一个数据 3因为 3 小于 4那我们就再插入到4的left节点。如果我们再插入一个 5呢大于等于 当前节点的都进入right节点所以插入 5 会变成这样。遍历一棵树遍历一棵树的方法有很多前序遍历中序遍历后序遍历我这里就不说了无非就是递归判断节点是否为空我这里使用的是中序遍历。/* 遍历一整颗树 中序遍历:先左后根再右 */void traverse(Node* node){ if(node ! NULL) { traverse(node-left); printf(%d ,node-data); traverse(node-right); }}traverse(node-left); 递归扫描所有的左子树节点 traverse(node-right); 递归扫描所有的右子树节点销毁一棵树既然我们是通过 malloc 来创建一棵树的那么使用完后肯定需要释放内存要不然内存就会一直消耗占用。/*销毁一棵树*/void distory_tree(Node* node){ if(node ! NULL) { distory_tree(node-left); distory_tree(node-right); printf(free node:%d\n,node-data); free(node); node NULL; }}使用递归很爽啊一直使用一直爽啊。哈哈那就一直使用递归好了。完整代码#include stdio.h#include stdlib.h/*树节点*/typedef struct node{ int data; struct node * left; /*节点左边的树枝*/ struct node * right;/*节点右边的树枝*/}Node;/*树根*/typedef struct tree{ Node * root;}Tree;/*插入函数 向一个树里面插入数据*/void insert(Tree* tree, int value){ /*创建一个节点*/ Node* node(Node*)malloc(sizeof(Node)); node-data value; node-left NULL; node-right NULL; /*判断树是不是空树*/ if (tree-root NULL) { tree-root node; } else /*不是空树*/ { Node* temp tree-root;/*从树根开始*/ while (temp ! NULL) { if(value temp-data)/*小于就进左儿子*/ { if(temp-left NULL) { temp-left node; return; } else /*继续判断*/ { temp temp-left; } } else /*否则进右儿子*/ { if(temp-right NULL) { temp-right node; return; } else /*继续判断*/ { temp temp-right; } } } }}/* 遍历一整颗树 中序遍历:先左后根再右 */void traverse(Node* node){ if(node ! NULL) { traverse(node-left); printf(%d ,node-data); traverse(node-right); }}/*销毁一棵树*/void distory_tree(Node* node){ if(node ! NULL) { distory_tree(node-left); distory_tree(node-right); printf(free node:%d\n,node-data); free(node); node NULL; }}/*主函数*/int main(){ int i 0; Tree tree; tree.root NULL;/*创建一个空树*/ int n; printf(input total num:\n); /*输入n个数并创建这个树*/ scanf(%d,n); for(i 0; i n; i) { int temp; scanf(%d,temp); insert(tree, temp); } /*遍历整个树*/ traverse(tree.root); /*销毁一棵树*/ distory_tree(tree.root); return 0;}总结数据结构里的树是一个难点和重点变化也非常多我们安卓系统里面的跨进程间通信使用的binder底层就是有使用到红黑树大家如果通过这个小例子知道树这个概念以后遇到就不至于一愣一愣的。好吧就说这么多文章有问题的欢迎批评指正我们要在批评与指正中成长觉得不错的感谢转发和再看。共勉~—————END—————扫码或长按关注回复「 加群 」进入技术群聊
http://www.pierceye.com/news/583168/

相关文章:

  • 长沙企业网站建设团队目前网络最好的挣钱平台
  • 国家建设工程安全质量监督网站友情链接网
  • 适合html初学者做的网站中卫网站推广软件
  • 一个vps主机放两个网站 速度怎么做发卡网站
  • 海米云网站建设网站开发 去哪里找页面
  • 天津做网站优化的公司新手学做网站优化
  • 万网怎么上传网站wordpress google字体 360
  • 为什么建设的网站有时候访问慢6紫金优化网站制作
  • 如何在公司系统建网站广州短视频seo哪家好
  • 电气网站开发福安网站定制
  • 推荐一下做图文的网站html简单的个人网页代码
  • 网页新建站点网站建设缺陷
  • 移动端网站推广怎么申请pc网站域名
  • 外国男男做暧暧视频网站二级建造师考试试题
  • 普通网站建设是什么wordpress主题显示不
  • 朔州网站建设全球速卖通是什么平台
  • wordpress外贸网站好用的模板下载网站开发就业趋势
  • 长春模板建站代理网站开发嘉比格网络
  • 网站建设预算企业网站的公司和产品信息的介绍与网络营销关系
  • 网站开发的学习电子商务网站建设公
  • 网站的功能需求分析c语言网页编辑器
  • 网站投资多少钱制作做的网站如何上传网上
  • 沈阳自助建站模板网站建设想法
  • 湖南岳阳网站建设公司黄页顺企网怎样不让网站被收录
  • 有没有专门做翻译的网站安徽建设工程信息网招标公告
  • 保险咨询网站留电话中国十大网络公司排行榜
  • 领手工在家做的网站2019网页设计与实现论文
  • 兰州微信信息平台网站建设绍兴本地网站建设
  • 关于旅游网站策划书千锋前端培训多少钱
  • 温州网站建设结构做代练网站能备案