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

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

SDUTOJ 2173 數據結構實驗之求二叉樹后序遍歷和層次遍歷

2019-11-11 00:36:25
字體:
來源:轉載
供稿:網友
[cpp] view plain copy #include<iostream>  #include<stdio.h>  #include<queue>  #include<string.h>  #include<stdlib.h>  using namespace std;  char s1[100],s2[100],ans[100];  typedef struct BiTNode  {      char data;      struct BiTNode *lchild,*rchild;  }BiTNode,*BiTree;  void build(BiTree &T,char *s1,char *s2,int n)//利用前序遍歷和中序遍歷恢復二叉樹  {      if(n<=0) T=NULL;      else      {          int p=strchr(s2,s1[0])-s2;          T=new BiTNode;          T->data=s1[0];          build(T->lchild,s1+1,s2,p);//遞歸創建左子樹          build(T->rchild,s1+p+1,s2+p+1,n-p-1);//遞歸創建右子樹      }  }  void build1(int n,char *s1,char *s2,char *s)//根據前序遍歷和中序遍歷求后序遍歷  {       if(n<=0) return ;       else       {           int p=strchr(s2,s1[0])-s2;           build1(p,s1+1,s2,s);           build1(n-p-1,s1+p+1,s2+p+1,s+p);           s[n-1]=s1[0];       }  }  void levelOrder(BiTree T)//bfs算法完成層次遍歷,使用隊列存儲數據。  {      BiTree p=T;      queue<BiTree>queue;      queue.push(p);      while(!queue.empty())      {          p=queue.front();          cout<<p->data;          queue.pop();          if(p->lchild!=NULL)          {              queue.push(p->lchild);          }          if(p->rchild!=NULL)          {              queue.push(p->rchild);          }      }  }  int main()  {      BiTree T;      int n,len;      cin>>n;      while(n--)      {          cin>>s1>>s2;          len=strlen(s1);          build(T,s1,s2,len);          build1(len,s1,s2,ans);          ans[len]='/0';          cout<<ans<<endl;          levelOrder(T);          cout<<endl;      }      return 0;  }  轉載地址http://blog.csdn.net/r_misaya/article/details/40396607
上一篇:leetcode :Integer to Roman

下一篇:poj 2217

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梅州市| 灵山县| 岐山县| 安远县| 海口市| 宣威市| 马尔康县| 绥化市| 荔浦县| 措美县| 安图县| 南通市| 福鼎市| 岑溪市| 太原市| 正定县| 河曲县| 加查县| 西城区| 揭西县| 安龙县| 曲阳县| 玉门市| 沂水县| 庆云县| 永泰县| 绍兴县| 桐城市| 海林市| 葫芦岛市| 杭州市| 拜城县| 息烽县| 元谋县| 洛宁县| 云龙县| 岳池县| 鲁甸县| 黔西| 凤翔县| 青川县|