国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

c語言_構建一個靜態二叉樹實現方法

2020-01-26 14:07:16
字體:
來源:轉載
供稿:網友

第一、樹的構建

定義樹結構

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

靜態方式創建一個簡單的二叉樹

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.后續遍歷

//后序輸出 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("創建序列/n");   struct BTNode* pHead = create_list();    printf("先序輸出/n");   PreTravense(pHead);   printf("中序輸出/n");   InTravense(pHead);   printf("后序輸出/n");   PostTravense(pHead);   return 0; } 

以上這篇c語言_構建一個靜態二叉樹實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 中方县| 开封县| 延安市| 阳山县| 佳木斯市| 敖汉旗| 阿坝| 仁寿县| 武穴市| 仪陇县| 来宾市| 镇安县| 黄浦区| 盐津县| 宜君县| 丰原市| 鞍山市| 偃师市| 崇明县| 泰和县| 沅陵县| 镶黄旗| 前郭尔| 瑞金市| 若尔盖县| 阜南县| 丹江口市| 岚皋县| 广平县| 南乐县| 扶风县| 阳信县| 湘潭县| 南汇区| 平顺县| 昌吉市| 绥宁县| 兴山县| 株洲县| 南靖县| 浮梁县|