c語言中怎么構(gòu)建一個靜態(tài)二叉樹-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)c語言中怎么構(gòu)建一個靜態(tài)二叉樹,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序開發(fā),軟件按需定制等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

第一、樹的構(gòu)建

定義樹結(jié)構(gòu)

struct BTNode { 
  char data; 
  struct BTNode* pLChild; 
  struct BTNode* pRChild; 
};

靜態(tài)方式創(chuàng)建一個簡單的二叉樹

struct BTNode* create_list() { 
 
  struct BTNode* pA = (struct BTNode*)malloc(sizeof(BTNode)); 
  struct BTNode* pB = (struct BTNode*)malloc(sizeof(BTNode)); 
  struct BTNode* pC = (struct BTNode*)malloc(sizeof(BTNode)); 
  struct BTNode* pD = (struct BTNode*)malloc(sizeof(BTNode)); 
  struct BTNode* pE = (struct 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 = pB->pRChild = NULL; 
 
  pC->pLChild = pD; 
  pC->pRChild = NULL; 
 
  pD->pLChild = NULL; 
  pD->pRChild = pE; 
 
  pE->pLChild = pE->pRChild = NULL; 
 
  return pA; 
}

第二、樹的三種遍歷

1. 先序遍歷

//先序輸出 
void PreTravense(struct BTNode* pHead) { 
  if (NULL!= pHead) 
  { 
    printf("%c", pHead->data); 
    if (NULL!= pHead->pLChild) 
    { 
      PreTravense(pHead->pLChild); 
    } 
    if (NULL != pHead->pRChild) 
    { 
      PreTravense(pHead->pRChild); 
    } 
  } 
}

2. 中序遍歷

//中序輸出 
void InTravense(struct BTNode* pHead) { 
  if (NULL != pHead) 
  { 
    if (NULL != pHead->pLChild) 
    { 
      PreTravense(pHead->pLChild); 
    } 
    printf("%c", pHead->data); 
     
    if (NULL != pHead->pRChild) 
    { 
      PreTravense(pHead->pRChild); 
    } 
  } 
}

3.后續(xù)遍歷

//后序輸出 
void PostTravense(struct BTNode* pHead) { 
  if (NULL != pHead) 
  { 
    if (NULL != pHead->pLChild) 
    { 
      PreTravense(pHead->pLChild); 
    }    
 
    if (NULL != pHead->pRChild) 
    { 
      PreTravense(pHead->pRChild); 
    } 
    printf("%c", pHead->data); 
  } 
}

第三、最終運行測試

int main() { 
  printf("創(chuàng)建序列\(zhòng)n"); 
  struct BTNode* pHead = create_list(); 
 
  printf("先序輸出\n"); 
  PreTravense(pHead); 
  printf("中序輸出\n"); 
  InTravense(pHead); 
  printf("后序輸出\n"); 
  PostTravense(pHead); 
  return 0; 
}

c語言中怎么構(gòu)建一個靜態(tài)二叉樹

以上就是c語言中怎么構(gòu)建一個靜態(tài)二叉樹,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

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

新聞標題:c語言中怎么構(gòu)建一個靜態(tài)二叉樹-創(chuàng)新互聯(lián)
標題網(wǎng)址:http://muchs.cn/article38/ipdsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航手機網(wǎng)站建設(shè)、微信小程序微信公眾號、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)