当前位置:   article > 正文

数据结构——二叉树编程实现_假设二叉树采用链式存储结构,设计一个算法求二叉树b中第k层的结点个数

假设二叉树采用链式存储结构,设计一个算法求二叉树b中第k层的结点个数

//二叉链树的存储定义

typedef struct node{
   
	ElemType data;	//数据元素
	struct node *lchild;	//定义左孩子结点
	struct node *rchild;	//定义右孩子结点
}BTNode;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

//基本运算及实现
1.创建二叉树

#include "btree.h"	//包含二叉树的结构声明
void createBTree(BTNode *&b,char *str){
   
	BTNode *st[maxsize],*p;
	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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号