91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言數據結構二叉樹數據插入

發布時間:2020-07-22 03:13:06 來源:網絡 閱讀:3243 作者:風1雨 欄目:編程語言

指定一個數據為二叉樹的根,向二叉樹中插入數據,(樹的第一層)如果要插入的數據比樹根的數據大,則放在該結點的右側,如果要插入的數據比樹根小,則放在該結點的左側,(樹的第二層)數據的存放規則與上面的一致。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

//創建結構體

typedef struct tree

{

int a;//存放數據

struct tree *l;//二叉樹節點的左指針

struct tree *r;//二叉樹節點的右指針

}r;

//聲明一個插入函數s是二叉樹的頭節點,t是要插入到樹中的節點

void cmp(r *s,r* t);

//創建節點的函數

r *creat()

{

r * s = (r *)malloc(sizeof(r));

if(NULL != s)

memset(s,0,sizeof(r));

return s;

}

//采用遞歸遍歷的形式訪問樹中的每個節點,然后free

void destroy(r *r)

{

if(NULL == r)

return ;

destroy(r->l);

destroy(r->r);

free(r);//遞歸函數調用進行釋放內存

}

//顯示樹中每個節點的數據

void show(r *r)

{

if(NULL == r)

return ;

look(r->l);

look(r->r);

printf("%d\t",r->a);//后續遍歷

}


//向樹中插入元素,s是樹的根節點,t是要插入樹中的節點

void insert(r *s,r* t)

{

if(t->a < (s->a) && s->l == NULL)//如果新節點中的樹大于根節點中的樹,并且根節點的左指針是NULL

{

s->l = t;//直接將該指針連接到根的左指針上

return ;//節點被連接到樹上后就退出

}else if( t->a < (s->a) && NULL != s->l)//如果新節點中的樹大于根節點中的樹,并且根節點的左指針不是NULL

{

insert(s->l,t);//繼續調用函數

}

if( t->a >= (s->a) && s->r == NULL)//如果新節點中的樹小于根節點中的樹,并且根節點的右指針是NULL

{

s->r = t;//直接將該指針連接到根的右指針上

return ;//節點被連接到樹上后就退出

}else if(t->a >= (s->a ) && NULL != s->r)//如果新節點中的樹小于根節點中的樹,并且根節點的右指針不是NULL

{

insert(s->r,t);//繼續調用函數直到將結點掛到該樹上

}

}

void main()

{


r * root = creat();//創建根節點

root->a = 8;//給根節點一個初始值8

int s = 0;

while(1)

{

scanf("%d",&s);//鍵盤錄入數據,然后將這些數據插入到樹中

if(s == -1)//當輸入-1時,結束輸入

break;

r * pnew =creat();//對輸入的每個數創建節點

pnew->a = s;//將輸入的數賦值給創建的節點

insert(root,pnew);//將該節點插入進樹中

}

show(root);//后續遍歷書中所有的元素

destroy(root);//釋放該樹中所有的節點

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

微博| 蓬溪县| 晴隆县| 松江区| 兰考县| 上杭县| 如东县| 哈巴河县| 桃园县| 灵山县| 象山县| 互助| 靖边县| 祁东县| 丘北县| 阜新市| 通许县| 吴川市| 湛江市| 开平市| 祁阳县| 吉隆县| 旅游| 湾仔区| 客服| 子洲县| 新密市| 肇源县| 大名县| 腾冲县| 梁山县| 台南市| 梧州市| 尚义县| 和政县| 封丘县| 阳城县| 辰溪县| 和林格尔县| 云安县| 金阳县|