c++Tree怎么實現(xiàn)

本篇內(nèi)容主要講解“c++ Tree怎么實現(xiàn)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“c++ Tree怎么實現(xiàn)”吧!

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供清水網(wǎng)站建設(shè)、清水做網(wǎng)站、清水網(wǎng)站設(shè)計、清水網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、清水企業(yè)網(wǎng)站模板建站服務(wù),十多年清水做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

#include <stdio.h>
#include <malloc.h>
typedef struct BTnode
{
    int data;
    struct BTnode *pLchild;
    struct BTnode *pRchild;
}BTNode;
BTNode* createBTree()//靜態(tài)造鏈?zhǔn)綐?
{
    BTNode* pA =(BTNode*) malloc(sizeof(BTNode));
    BTNode* pB =(BTNode*) malloc(sizeof(BTNode));
    BTNode* pC =(BTNode*) malloc(sizeof(BTNode));
    BTNode* pD =(BTNode*) malloc(sizeof(BTNode));
    BTNode* pE =(BTNode*) malloc(sizeof(BTNode));
    pA->data = 'A';
    pB->data = 'B';
    pC->data = 'C';
    pD->data = 'D';
    pE->data = 'E';
    pA->pLchild = pB;
    pA->pRchild = pC;
    pB->pLchild = NULL;
    pB->pRchild = NULL;
    pC->pLchild = pD;
    pC->pRchild = NULL;
    pD->pLchild = NULL;
    pD->pRchild = pE;
    pE->pLchild = NULL;
    pE->pRchild = NULL;
    return pA;
}
void First_print(BTNode* pT) //先序遍歷
{
    //先訪問根節(jié)點  先序訪問左子樹 先序訪問右子樹
    if(pT)
    {
        printf("%c\n",pT->data);
        if(pT->pLchild)
        {
            First_print(pT->pLchild);
        }
        if(pT->pRchild)
        {
            First_print(pT->pRchild);
        }
    }
}
void Middl_print(BTNode* pT) //mid序遍歷
{
    //先訪問根節(jié)點  先序訪問左子樹 先序訪問右子樹
    if(pT)
    {
        if(pT->pLchild)
        {
            Middl_print(pT->pLchild);
        }
        printf("%c\n",pT->data);
        if(pT->pRchild)
        {
            Middl_print(pT->pRchild);
        }
    }
}
void end_print(BTNode* pT) //先序遍歷
{
    //先訪問根節(jié)點  先序訪問左子樹 先序訪問右子樹
    if(pT)
    {
        if(pT->pLchild)
        {
            end_print(pT->pLchild);
        }
        if(pT->pRchild)
        {
            end_print(pT->pRchild);
        }
        printf("%c\n",pT->data);
    }
}
int main ()
{
    BTNode* pT = createBTree();
    printf("first traverse print: \n");
    First_print(pT);
    printf("middle traverse print: \n");
    Middl_print(pT);
    printf("end traverse print: \n");
    end_print(pT);
    return 0;
}

到此,相信大家對“c++ Tree怎么實現(xiàn)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

名稱欄目:c++Tree怎么實現(xiàn)
標(biāo)題來源:http://muchs.cn/article22/gddojc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序響應(yīng)式網(wǎng)站、網(wǎng)站制作、域名注冊、網(wǎng)頁設(shè)計公司、網(wǎng)站收錄

廣告

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

手機(jī)網(wǎng)站建設(shè)