内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

二叉樹(shù)的代碼實(shí)現(xiàn)-創(chuàng)新互聯(lián)

二叉樹(shù)是一種非線性的結(jié)構(gòu),但是在計(jì)算機(jī)中存儲(chǔ)時(shí),卻要按照線性來(lái)存儲(chǔ)。二叉樹(shù)也是由一個(gè)一個(gè)結(jié)點(diǎn)構(gòu)成,只不過(guò)是,一個(gè)結(jié)點(diǎn)中既要存放數(shù)據(jù),又要存放左孩子的指針和右孩子的指針。所以,我們想要實(shí)現(xiàn)二叉樹(shù),首先就得有一個(gè)二叉樹(shù)的結(jié)構(gòu),根據(jù)剛才的分析,那么二叉樹(shù)結(jié)構(gòu)中的變量應(yīng)該要有三個(gè)。代碼如下:

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比烏海網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式烏海網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋烏海地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。
struct BiTNode{

    int data;
    struct BiTNode *lchild;
    struct BiTNode *rchild;
};

  有了這么一個(gè)二叉樹(shù)的結(jié)構(gòu)之后,我們可以開(kāi)始動(dòng)態(tài)的創(chuàng)建結(jié)點(diǎn)。比如,我們要?jiǎng)?chuàng)建的這棵樹(shù)有5個(gè)元素,A、B、C、D、E。那么,創(chuàng)建結(jié)點(diǎn)的代碼如下:

struct BiTNode *A = ( struct BiTNode * ) malloc ( sizeof ( struct BiTNode ) );
struct BiTNode *B = ( struct BiTNode * ) malloc ( sizeof ( struct BiTNode ) );
struct BiTNode *C = ( struct BiTNode * ) malloc ( sizeof ( struct BiTNode ) );
struct BiTNode *D = ( struct BiTNode * ) malloc ( sizeof ( struct BiTNode ) );
struct BiTNode *E = ( struct BiTNode * ) malloc ( sizeof ( struct BiTNode ) );

接下來(lái),就是要對(duì)這些結(jié)點(diǎn)進(jìn)行初始化,并且生成一棵樹(shù)。這棵樹(shù),先序遍歷結(jié)果為:

A->B->C->D->E

中序遍歷結(jié)果為:

B->A->D->C->E

有了樹(shù)的理論上的形狀之后,我們要開(kāi)始對(duì)這些結(jié)點(diǎn)進(jìn)行聯(lián)接。代碼如下:

A->data = 'A';
A->lchild = B;
A->rchild = C;
B->data = 'B';
B->lchild = B->rchild = NULL;
C->data = 'C';
C->lchild = D;
C->rchild = E;
D->data = 'D';
D->lchild = D->rchild = NULL;
E->data = 'E';
E->lchild = E->rchild = NULL;

二叉樹(shù)創(chuàng)建好之后,就是要開(kāi)始遍歷二叉樹(shù)了。二叉樹(shù)的遍歷有三種,前序,中序和后序。二叉樹(shù)的遍歷事實(shí)上是通過(guò)遞歸實(shí)現(xiàn)的。那么,先來(lái)實(shí)現(xiàn),先序遍歷。代碼如下:

void PreOrderTraverse ( struct BiTNode *T ){

    if ( T == NULL )
        return;
        
    if ( T != NULL )
    printf ( "%c", T->data );     //先訪問(wèn)根結(jié)點(diǎn)
    if ( T != NULL )
    PreOrderTraverse ( T->lchild );  //訪問(wèn)左子樹(shù)
    if ( T != NULL )
    PreOrderTraverse ( T->rchild );   //訪問(wèn)右子樹(shù)
    
}

接著是中序遍歷,中序遍歷不過(guò)是先訪問(wèn)左子樹(shù),再訪問(wèn)根結(jié)點(diǎn),最后訪問(wèn)右子樹(shù)。代碼如下:

void InOrderTraverse ( struct BiTNode *T ){

    if ( T == NULL )
        return;
        
    if ( T != NULL )
        InOrderTraverse ( T->lchild );
    if ( T != NULL )
        printf ( "%c", T->data );
    if ( T != NULL )
        InOrderTraverse ( T->rchild );

}

最后一種,就是后序遍歷。后序遍歷就是先訪問(wèn)左子樹(shù),再訪問(wèn)右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。代碼如下:

void PostOrderTraverse ( struct BiTNode *T ){

    if ( T == NULL )
        return;
        
    if ( T != NULL )
        PostOrderTraverse ( T->lchild );
    if ( T != NULL )
        PostOrderTraverse ( T->rchild );
    if ( T != NULL )
        printf ( "%c", T->data );

}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)標(biāo)題:二叉樹(shù)的代碼實(shí)現(xiàn)-創(chuàng)新互聯(lián)
本文地址:http://www.rwnh.cn/article36/coissg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、Google手機(jī)網(wǎng)站建設(shè)、網(wǎng)站制作、電子商務(wù)服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
多伦县| 玉溪市| 长垣县| 朝阳县| 什邡市| 水富县| 漳平市| 无极县| 金乡县| 正镶白旗| 历史| 木兰县| 集安市| 延吉市| 临汾市| 本溪| 高清| 牡丹江市| 鹿泉市| 汉阴县| 井研县| 额尔古纳市| 高台县| 娱乐| 阿拉善左旗| 阿克| 交口县| 乳源| 天水市| 洛南县| 佛冈县| 峨山| 体育| 东方市| 刚察县| 连云港市| 广州市| 五原县| 永平县| 琼海市| 涞源县|