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

两学一做11月答题网站智能建站系统

两学一做11月答题网站,智能建站系统,wordpress上传路径,做宽屏网站题目描述 解析 1.递归思想遍历节点,若是叶子结点就累加计算的wpl,反之继续遍历 2.代码如下 //树 typedef struct trees {ElemType data;struct trees* lc;struct trees* rc; }treeNode, * Tree;3.算法设计 //deep路径长度也叫做深度,0开始 …

题目描述

解析

 1.递归思想遍历节点,若是叶子结点就累加计算的wpl,反之继续遍历

 

 2.代码如下

//树
typedef struct trees {ElemType data;struct trees* lc;struct trees* rc;
}treeNode, * Tree;

3.算法设计

//deep路径长度也叫做深度,0开始
void getWPL(Tree& t, int deep,int &sum)
{//判断左子树if (t->lc){getWPL(t->lc, deep + 1, sum);}if (t->rc){getWPL(t->rc, deep + 1, sum);}if (!t->lc && !t->rc){//叶子结点sum += deep * t->data;return;}
}

 【注】递归一定要有终止条件,否则会死循环。

可运行代码

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
typedef char ElemType;//树
typedef struct trees {ElemType data;struct trees* lc;struct trees* rc;
}treeNode, * Tree;//链表
typedef struct Links {Tree tree;struct Links* next;
}LNode, * LinkList;//队列
typedef struct {LinkList front;LinkList rear;
}LinkQue;void init_que(LinkQue& q)
{q.front = q.rear = (LinkList)calloc(1, sizeof(LNode));q.front = q.rear;
}bool isEmpty(LinkQue& q)
{return q.front == q.rear;
}//入队
void push_que(LinkQue& q, Tree tree)
{//新建链表节点LinkList newList = (LinkList)calloc(1, sizeof(LNode));newList->next = NULL;newList->tree = tree;q.rear->next = newList;q.rear = q.rear->next;
}
bool pop_que(LinkQue& q, Tree& tree)
{if (isEmpty(q)){return false;}LinkList del = q.front->next;//头结点不存数据,第一个节点才是真的数据起始位置q.front->next = del->next;//断链tree = del->tree;if (q.rear == del)//只剩下尾节点的数据{q.rear = q.front;//置空}free(del);return true;
}void build_tree(Tree& tree)
{LinkQue q;init_que(q);LinkList cur = NULL;ElemType data;while (scanf("%c", &data) && data != '\n'){Tree newTree = (Tree)calloc(1, sizeof(treeNode));//申请新的树的节点newTree->data = data;if (tree == NULL){tree = newTree;push_que(q, tree);//入队cur = q.rear;}else{if (cur->tree->lc == NULL){cur->tree->lc = newTree;push_que(q, newTree);}else{cur->tree->rc = newTree;push_que(q, newTree);//改变当前父亲节点cur = cur->next;}}}
}void getWPL(Tree& t, int deep,int &sum)
{//判断左子树if (t->lc){getWPL(t->lc, deep + 1, sum);}if (t->rc){getWPL(t->rc, deep + 1, sum);}if (!t->lc && !t->rc){//叶子结点sum += deep * t->data;return;}
}int main()
{Tree tree = NULL;build_tree(tree);int sum = 0;getWPL(tree, 0, sum);printf("%d\n", sum);return 0;
}

代码运行结果

http://www.zhongyajixie.com/news/32555.html

相关文章:

  • 兰州做网站多少钱适合小学生的最新新闻
  • mip 网站百度竞价推广是什么工作
  • 网站建设工作简介百度软件
  • wordpress 客户端登录谷歌seo关键词优化
  • 网站顶端flash软文推广营销平台
  • 分销商城系统源码seo免费优化
  • phpcms做的网站想学互联网从哪里入手
  • 网站建设期末论文今天新闻摘抄十条
  • 推图制作网站品牌推广方式都有哪些
  • 云浮各类免费建站安徽seo推广公司
  • 网站关于我们怎么做单页面模板杭州百度首页优化
  • 沈阳世纪兴网站制作环球贸易网
  • 中国塑料商业网志鸿优化设计电子版
  • 做任务赚钱的正规网站搜索引擎优化目标
  • 网站开发功能简介百度地图排名可以优化吗
  • 乐清市网论坛网站怎么优化推广
  • 手把手教你做网站视频怎么推广自己的产品
  • wordpress+仿站步骤外链发布平台
  • 网页搭建代码seo优化推广软件
  • 一般pr做视频过程那个网站有品牌建设的五个要素
  • 免费海报制作appseo关键词推广案例
  • 手机 网站 翻页 外部搜索引擎营销简称
  • 个人网站如果做今天上海重大新闻事件
  • 个人域名怎么做社交网站什么是网络营销含义
  • 哪个网站可查询有没有做社保卡短视频营销案例
  • 保定网站建设求职简历app推广接单平台
  • 如何用ps做网站页面设计快速提高排名
  • 一级a做爰片免播放器网站百度网页高级搜索
  • 济南网站制作公司哪家好求职seo推荐
  • 嘉兴网站建设技术托管网站排名工具