国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 為什么二叉樹的根結(jié)點常常是指向指針的指針?

為什么二叉樹的根結(jié)點常常是指向指針的指針?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-11 04:38:21 1696970301

一、為什么二叉樹的根結(jié)點常常是指向指針的指針

因為在創(chuàng)造一顆樹時,在申請根結(jié)點空間時,地址可能會發(fā)生變化,而這種變化是無法判斷的,是系統(tǒng)自動發(fā)生的,單個指針就無法找到變化后的地址,所以 ,用指針的指針,找到變化后的地址。當然 如果你在創(chuàng)造一顆樹前,就已經(jīng)初始化分配了根結(jié)點的空間,那就不用指針的指針,直接用一個指針就行了。

它是一種C語言式的標準做法。

節(jié)點需要兩重指針,一重是節(jié)點本身動態(tài)更改數(shù)據(jù)的需要,另一重是分配與操作堆內(nèi)存數(shù)據(jù)的需要。

至于是不是一定要做成指針的指針形式,取決于節(jié)點數(shù)據(jù)是直接手動管理內(nèi)存,這種可以指針的指針,效率較高。還是封裝為某個結(jié)構(gòu)的內(nèi)部成員變量,開銷略大一點,就只是指針的形式,好控制,使用方便。用智能指針的話,實際也是屬于后者。

二叉樹的建立中:

t=(BiTtree*)malloc(sizeof(BiTtree)); t->data=d; CreateBiTree(t->left,x); CreateBiTree(t->right,x);;

其中t=(tree*)malloc(sizeof(tree));

改變了指針的指向所以指針的指針,或者指針的引用

void CreateBiTree(BiTtree *&t,char x)

1

附上代碼

#include

using namespace std;

struct BiTtree{

??? char data;

??? BiTtree *left,*right;

};

void CreateBiTree(BiTtree *&t,char x){

//在函數(shù)調(diào)用時用指針或者引用做參數(shù),表示把變量的地址傳遞給子函數(shù),

//但是子函數(shù)只能修改指針所指變量的值,并不能修改指針的指向。

//如果想要修改指針的指向,就要用指針的指針,或者指針的引用。

??? char d;

??? scanf(“%c”,&d);

??? if(d==x){

?????? t=NULL;

??? }

??? else{

?????? t=(BiTtree*)malloc(sizeof(BiTtree));

?????? t->data=d;

?????? CreateBiTree(t->left,x);

?????? CreateBiTree(t->right,x);

??? }

}

void printtree(BiTtree *t){

??? if(t){

?????? printf(“%c “, t->data);

?????? printtree(t->left);

?????? printtree(t->right);

??? }

}

int main(){

??? BiTtree *t;

??? CreateBiTree(t,’#’);

??? printtree(t);

??? return 0;

}

延伸閱讀:

二、樹

樹(Tree)是n(n>=0)個結(jié)點的有限集。n=0時稱為空樹。在任意一顆非空樹中:

有且僅有一個特定的稱為根(Root)的結(jié)點;當n>1時,其余結(jié)點可分為m(m>0)個互不相交的有限集T1、T2、…… 為什么二叉樹的根結(jié)點常常是指向指針的指針Tn,其中每一個集合本身又是一棵樹,并且稱為根的子樹。

此外,樹的定義還需要強調(diào)以下兩點:

n>0時根結(jié)點是少數(shù)的,不可能存在多個根結(jié)點,數(shù)據(jù)結(jié)構(gòu)中的樹只能有一個根結(jié)點。m>0時,子樹的個數(shù)沒有限制,但它們一定是互不相交的。
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
計算機網(wǎng)絡管理軟件有哪些好用?

1、Nagios CoreNagios Core在全球范圍內(nèi)用于幫助監(jiān)控網(wǎng)絡和跟蹤各種基礎設施。它的主動監(jiān)控功能可以檢測它負責監(jiān)控的服務器上的網(wǎng)絡設備、服務...詳情>>

2023-10-11 06:33:55
oa系統(tǒng)怎么注冊?

一、選擇合適的OA系統(tǒng)首先,需要選擇一款適合自己公司的OA系統(tǒng)。市面上有很多OA系統(tǒng),如用友、金蝶等,不同的OA系統(tǒng)有不同的功能和價格。在選擇...詳情>>

2023-10-11 06:32:35
大整數(shù)類型和一般的整數(shù)類型相比各有什么優(yōu)劣?

一、大整數(shù)類型和一般的整數(shù)類型相比大整數(shù)類型和一般的整數(shù)類型相比優(yōu)點是不會溢出,能表示任意長度的數(shù)字做各種精度的運算。缺點是沒有直接的...詳情>>

2023-10-11 06:22:59
功能安全開發(fā)與ASPICE和CMMI之間有什么樣的聯(lián)系?

一、功能安全開發(fā)與ASPICE和CMMI之間的聯(lián)系CMMI是產(chǎn)品和系統(tǒng)開發(fā)的通用模型,ASPICE是針對車這個垂直領(lǐng)域,(軟件)產(chǎn)品和系統(tǒng)開發(fā)的標準。ASPI...詳情>>

2023-10-11 05:59:32
在C語言下數(shù)組array與鏈表linklist各自的優(yōu)點和缺陷是什么?

一、在C語言下數(shù)組array與鏈表linklist各自的優(yōu)點和缺陷數(shù)組可以通過下標訪問,隨機訪問效率高,鏈表需要通過指針遍歷,訪問效率低。數(shù)組在分配...詳情>>

2023-10-11 05:43:25