求程式 線索二叉樹插入刪除運算,線索二叉樹的插入和刪除

時間 2021-08-11 17:17:12

1樓:匿名使用者

#include

#include "malloc.h"

#include "windows.h"

#define maxsize 20 //規定樹中結點的最大數目

typedef struct nodebithptr;

bithptr *q[maxsize]; //建隊,儲存已輸入的結點的地址

bithptr *creattree()

rear++;

q[rear]=s; //將結點地址加入佇列中

if(rear==1)t=s; //輸入為第一個結點為根結點

else

getchar();

printf("請輸入新的結點資訊,@為空結點,#為結束標誌:");

ch=getchar();

}return t;

}void inorder(bithptr *t) //中序遍歷

}bithptr *pre=null;

void prethread(bithptr *root) //中序線索化演算法,函式實現

if(p->rchild==null) //後繼結點前驅線索化

p->rtag=1;

pre=p;

prethread(p->rchild);}}

void printindex(bithptr *t) //輸出線索

}bithptr *searchchild(bithptr *point,char findnode) //查詢孩子結點函式

if(point->rtag!=1)

return null;

}else

return null;

} bithptr *searchpre(bithptr *point,bithptr *child) //查詢父親結點函式

if(point->rtag!=1)

return null;

}else

return null;

}void insert(bithptr *root)

else printf("發現結點%c\n",child->data);

if(child->ltag==0) //當孩子結點有左孩子的時候

else //當孩子結點沒有左孩子的時候

printf("\t插入結點操作已經完成,並同時完成了線索化的恢復\n");}

2樓:匿名使用者

完整的搜尋二叉樹類,裡面肯定包含插入刪除運算的啦

線索二叉樹的插入和刪除

求線索二叉樹的應用擦c語言**,功能:建立,插入,刪除,恢復線索的實現

3樓:

自己去看資料結構的書,自己寫一遍吧

4樓:和葉乖乖

visual c++ 6.0編的

詳情見附件

線索二叉樹的應用。。。特別是線索的輸出。。。結點的插入和刪除。。。

關於遞迴演算法求二叉樹深度演算法,關於求二叉樹深度的遞迴演算法

int height bitree t if 中的n應該是v。其思想是,一個節點的深度是他的兩個子節點中深度的最大值再加上1。這個演算法中u得到其左子數的深度,v獲得右子樹的深度。則這個節點的深度就是u和v中最大的再加上1。要想獲得樹的深度,就先獲得這個樹中根節點的兩個兒子的深度,比較兩個兒子的深度...

求個二叉樹遍歷的VB程式

rebacktree 根據二叉樹的先序遍歷和中序遍歷建立二叉樹。rebacktree1 根據二叉樹的後序序遍歷和中序遍歷建立二叉樹。include stdio.h include stdlib.h typedef struct node node,nodep void midorder nodep ...

求Matlab大神二叉樹程式幫我看看哪兒能改引數從而改變角度大小

n和b都能改,n控制二叉樹的層數,b控制角度,分叉角度的一般.程式中的a似乎沒用到 n 3,b pi 6時影象如下 function tree n a pi n b pi n x1 0 y1 0 x2 0 y2 1 plot x1,x2 y1,y2 hold on x,y tree1 x1,y1,x...