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

河北沧为信息技术有限公司seo二级目录

河北沧为信息技术有限公司,seo二级目录,wordpress strip_tags,如何做网站开屏【实验目的】 (1)进一步掌握指针变量的用途和程序设计方法。; (2)掌握二叉树的结构特征,以及链式存储结构的特点及程序设计方法; (3)掌握用指针类型描述、访问和处理二…

【实验目的】

(1)进一步掌握指针变量的用途和程序设计方法。;

(2)掌握二叉树的结构特征,以及链式存储结构的特点及程序设计方法;

(3)掌握用指针类型描述、访问和处理二叉树的运算。

【实验准备】

(1)阅读二叉树各种基本运算算法的相关内容;

(2)熟悉二叉树各种基本运算的实现算法。

【实验要求】

(1)采用函数调用的方式完成;

(2)文件funp5-1.cpp的作用是完成二叉树的各种基本操作;

(3)实验提交必须有完整正确的程序,关键注释的细化以及程序运行结果的截图。

【实验内容】

编写一个程序,实现二叉树各种基本运算算法。

(1)输出二叉树B。

(2)输出二叉树B的深度。

(3)输出二叉树B的宽度。

(4)输出二叉树B的结点个数。

(5)输出二叉树B的叶子结点个数。

【部分功能程序见课本p167】

 

#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
typedef char ElemType;
typedef struct node
{ElemType data;    struct node* lchild;  struct node* rchild;  
} BTNode;
void CreateBTNode(BTNode*& b, char* str)  
{BTNode* St[MaxSize], * p = NULL;int top = -1, k, j = 0;char ch;b = NULL;   ch = str[j];while (ch != '\0') {switch (ch){case '(':top++; St[top] = p; k = 1; break;  case ')':top--; break;case ',':k = 2; break;                       default:p = (BTNode*)malloc(sizeof(BTNode));p->data = ch; p->lchild = p->rchild = NULL;if (b == NULL)                    b = p;else         {switch (k){case 1:St[top]->lchild = p; break;case 2:St[top]->rchild = p; break;}}}j++;ch = str[j];}
}
BTNode* FindNode(BTNode* b, ElemType x) 
{BTNode* p;if (b == NULL)return NULL;else if (b->data == x)return b;else{p = FindNode(b->lchild, x);if (p != NULL)return p;elsereturn FindNode(b->rchild, x);}
}
BTNode* LchildNode(BTNode* p) 
{return p->lchild;
}
BTNode* RchildNode(BTNode* p) 
{return p->rchild;
}
int BTNodeDepth(BTNode* b)
{int lchilddep, rchilddep;if (b == NULL)return(0);       else{lchilddep = BTNodeDepth(b->lchild); rchilddep = BTNodeDepth(b->rchild); return (lchilddep > rchilddep) ? (lchilddep + 1) : (rchilddep + 1);}
}
void DispBTNode(BTNode* b) 
{if (b != NULL){printf("%c", b->data);if (b->lchild != NULL || b->rchild != NULL){printf("(");DispBTNode(b->lchild);if (b->rchild != NULL) printf(",");DispBTNode(b->rchild);printf(")");}}
}
int BTWidth(BTNode* b)  
{struct{int lno;  BTNode* p;  } Qu[MaxSize];  int front, rear;       int lnum, max, i, n;front = rear = 0;       if (b != NULL){rear++;Qu[rear].p = b;     Qu[rear].lno = 1;      while (rear != front)     {front++;b = Qu[front].p;    lnum = Qu[front].lno;if (b->lchild != NULL)   {rear++;Qu[rear].p = b->lchild;Qu[rear].lno = lnum + 1;}if (b->rchild != NULL)   {rear++;Qu[rear].p = b->rchild;Qu[rear].lno = lnum + 1;}}max = 0; lnum = 1; i = 1;while (i <= rear){n = 0;while (i <= rear && Qu[i].lno == lnum){n++; i++;}lnum = Qu[i].lno;if (n > max) max = n;}return max;}elsereturn 0;
}
int Nodes(BTNode* b) 
{int num1, num2;if (b == NULL)return 0;else if (b->lchild == NULL && b->rchild == NULL)return 1;else{num1 = Nodes(b->lchild);num2 = Nodes(b->rchild);return (num1 + num2 + 1);}
}
int LeafNodes(BTNode* b) 
{int num1, num2;if (b == NULL)return 0;else if (b->lchild == NULL && b->rchild == NULL)return 1;else{num1 = LeafNodes(b->lchild);num2 = LeafNodes(b->rchild);return (num1 + num2);}
}
void DestroyBTNode(BTNode*& b)
{if (b != NULL){DestroyBTNode(b->lchild);DestroyBTNode(b->rchild);free(b);}
}int main()
{BTNode* b, * p, * lp, * rp;;CreateBTNode(b, "A(B(D(,G)),C(E,F(H)))");printf("二叉树的基本运算如下:\n");printf("  (1)输出二叉树b:"); DispBTNode(b); printf("\n");printf("  (2)二叉树b的深度:%d\n", BTNodeDepth(b));printf("  (3)二叉树b的宽度:%d\n", BTWidth(b));printf("  (4)二叉树b的结点个数:%d\n", Nodes(b));printf("  (5)二叉树b的叶子节点个数:%d\n", LeafNodes(b));DestroyBTNode(b);return 0;
}

http://www.lbrq.cn/news/2723203.html

相关文章:

  • 网站流量一直下降网络营销的作用和意义
  • 有什么网站可以发布个人信息seo点击软件手机
  • 西安单位网站建设自己的网站
  • 汕头网站上排名集客营销软件官方网站
  • 产品如何做网站地图如何制作一个简易网站
  • 网站制作详细教程网站seo优化多少钱
  • 网站开发留学海淀区seo搜索引擎
  • 叫人做网站后不提供源码wordpress免费建站
  • 网站建设尚品58和百度哪个推广效果好
  • 网站一般多长时间自己做网站设计制作
  • 金华网站推广广西网站建设制作
  • 东莞比较出名的网站建设公司淘宝指数官网的网址
  • 网站开发毕业答辩演讲稿范文互联网金融营销案例
  • 如何修改用织梦做的网站的模板seo辅助工具
  • wordpress直接上传视频网站吗热门国际新闻
  • 电商网站有哪些特色环球网最新消息
  • wordpress 摘要不显示网站优化推广服务
  • 企业建站系统营销吧tt团队网络营销与策划
  • app在线开发制作平台seo优化工具大全
  • java都是做网站吗网络营销方式都有哪些
  • 孝感网站制作免费做网站的平台
  • 网站首页引导页模版口碑营销
  • 龙岗网站建设需要考量些什么深圳网络推广网络
  • 企业建站公司怎么创业淘宝权重查询入口
  • 网站 建设 价格表郑州网站关键词排名
  • 湖北中英双语网站建设安装百度到桌面
  • 如何做网站迁移网站分析报告范文
  • 淘宝详情页设计优化关键词推广
  • 简述企业建网站的步骤什么平台推广效果最好
  • 做再生资源的网站有哪些怎么查找关键词排名
  • 嵌入式开发学习———Linux环境下网络编程学习(二)
  • 云原生俱乐部-杂谈2
  • 【秋招笔试】2025.08.15饿了么秋招机考-第一题
  • 企业级时序数据库选型指南:从传统架构向智能时序数据管理的转型之路
  • Nginx蜘蛛请求智能分流:精准识别爬虫并转发SEO渲染服务
  • Linux软件下载菜单脚本