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

首頁 > 學院 > 開發設計 > 正文

數據結構實驗之二叉樹五:層序遍歷*(層序遍歷要學好

2019-11-08 20:04:20
字體:
來源:轉載
供稿:網友

數據結構實驗之二叉樹五:層序遍歷 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic PRoblem Description

已知一個按先序輸入的字符序列,如abd,,eg,,,cf,,,(其中,表示空結點)。請建立二叉樹并求二叉樹的層次遍歷序列。 Input

輸入數據有多行,第一行是一個整數t (t<1000),代表有t行測試數據。每行是一個長度小于50個字符的字符串。 Output

輸出二叉樹的層次遍歷序列。 Example Input

2 abd,,eg,,,cf,,, xnl,,i,,u,, Example Output

abcdefg xnuli Hint

#include <stdio.h>#include <string.h>int i;typedef struct node{ char data; struct node *l,*r;}node;node *create(char *str)//老樣子,先序植樹{ node *root; if(str[i]==','){ i++; root = NULL; } else{ root = (node *)malloc(sizeof(struct node)); root->data = str[i++]; root->l = create(str); root->r = create(str); } return root;}void *level_tra(node *root)//這里層序遍歷就有門道了{ node *temp[100];//用temp結點數組來臨時存儲根 int in = 0,out = 0; temp[in++] = root;//temp[0]存根 while(in>out){ if(temp[out]){ printf("%c",temp[out]->data);//輸出根的時候,把這個跟的左節點和右節點先存一下,這樣就達到層序遍歷的目的啦 temp[in++] = temp[out]->l; temp[in++] = temp[out]->r; } out++; }}int main(){ int t; char str[100]; node *root; while(~scanf("%d",&t)){ while(t--){ i = 0; scanf("%s",str); root = create(str); level_tra(root); printf("/n"); } } return 0;}
上一篇:文章標題

下一篇:確認運行的jdk版本

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高淳县| 集贤县| 会东县| 方山县| 永川市| 龙门县| 龙川县| 麦盖提县| 修武县| 冷水江市| 那坡县| 汕头市| 宁河县| 固镇县| 长兴县| 彝良县| 白银市| 滦平县| 马尔康县| 淮滨县| 莒南县| 平泉县| 龙口市| 桃园市| 诸暨市| 汝南县| 台湾省| 锦州市| 清镇市| 岑巩县| 彝良县| 常宁市| 井冈山市| 治县。| 南部县| 南召县| 汶川县| 康乐县| 温宿县| 巴林右旗| 长顺县|