C语言二叉树的插入节点问题,小弟我有一点不是很明白,下面是向二叉树中插入节点的代码:

C语言二叉树的插入节点问题,小弟我有一点不是很明白,下面是向二叉树中插入节点的代码:,第1张

C语言二叉树的插入节点问题,小弟我有一点不是很明白,下面是向二叉树中插入节点的代码:

貌似没搞明白 指针 和 二级指针的概念。。。

你的代码我该了一下。你看看。

//输入示例: ab..c.d..

#includestdio.h>

#includemalloc.h>

#define DataType char

int LeafCount=0//统计叶子节点的数目

typedef struct Node//定义一个二叉树节点类型

{

DataType data

struct Node *LChild

struct Node *RChild

}BiTNode,*BiTree

//这在里单是BiTree bt 传指针是不对的,因为你在CreateBiTree 函数中更改了 bt 的指向,此刻的bt 和 传进来的 root 就没有联系了。。。所以建立的根本就不是二叉树。。你再想想看。。。

void CreateBiTree(BiTree *bt) //创建一个二叉树

{

char ch

ch=getchar()

printf(

#include<stdio.h>

//二分查找法或折半查找法

void main(){

int a[10]={1,3,5,9,13,16,17,26,38},count=0//记录查找了多少次

//必须是有次的数组

int key,mid//要查找的数字和折半后的下标

int pos=-1//查找到的位置

int i=0,j=8

printf("请输入要查找的数据:")

scanf("%d",&key)

while(i<=j){

count++

mid=(i+j)/2

if(key==a[mid]){

pos=mid+1

break

}

if(key>a[mid])i=mid+1

else j=mid-1

}

if(pos==-1)

printf("对不起,没有找到你想要的数据!\n")

else

printf("该数据位于数组的第%d位\n共查找了%d次\n",pos,count)

}

删除

#include<stdio.h>

void main(){

int i,a[10]={1,3,4,5,7}

//下面看如何删除数组元素

//其实跟插入数据相反的道理

//比如删除a[1]这个元素,我们可以通过移动依次覆盖相应的位置

/*a[1]=a[2]

a[2]=a[3]

a[3]=a[4]*/

//这时候a[1]就已经被删除了

//把这段写成循环

for(i=1i<=3++i)

a[i] = a[i+1]

for(i=0i<4++i)

printf("%d ",a[i])

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11815166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存