日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > 數據結構 二叉樹 已知前序中序遍歷求后續遍歷的遞歸實現

數據結構 二叉樹 已知前序中序遍歷求后續遍歷的遞歸實現

來源:程序員人生   發布時間:2015-08-03 09:03:31 閱讀次數:2652次

代碼很短,實現起來也很簡單,下面是代碼:

// // main.cpp // PreMidgetPost // // Created by xin wang on 4/29/15. // Copyright (c) 2015 xin wang. All rights reserved. // #include <iostream> //鏈表2叉樹的節點類 template <class T> class BinaryTreeNode{ public: BinaryTreeNode(){LeftChild = RightChild=0;} BinaryTreeNode(const T& e){ data=e; LeftChild=RightChild =0; } BinaryTreeNode(const T& e,BinaryTreeNode *l,BinaryTreeNode *r){ data = e; LeftChild =l; RightChild =r; } T data; BinaryTreeNode<T> *LeftChild,*RightChild; }; //定義1個數組,分別裝前序遍歷和中序遍歷的數組 int pre_order[100]; int mid_order[100]; BinaryTreeNode<int> *translate(int pre_l,int pre_r,int mid_l,int mid_r){ if (pre_r-pre_l<0) {// return 0; } BinaryTreeNode<int> *root;//new1個root節點 root= new BinaryTreeNode<int>; root->data=pre_order[pre_l];//前序遍歷的第1個節點是跟節點 std::cout<<root->data<<"root"<<std::endl; if (pre_r==pre_l) {//如果二者相等,說明只有1個樹節點 root->LeftChild=NULL; root->RightChild=NULL; return root; } int index;//找到中序遍歷中跟節點所在的位置 for (index = mid_l; index<=mid_r; index++) { if (mid_order[index] == pre_order[pre_l]) { break; } } root->LeftChild = translate(pre_l+1, pre_l+(index-mid_l), mid_l, index⑴);//遞歸找到跟節點的左孩子的值 root->RightChild= translate(pre_l+(index-mid_l)+1,pre_r , index+1, mid_r);//遞歸找到根節點右孩子的值 return root; } //將后序遍歷打印出來 void post_Order(BinaryTreeNode<int> *root){ if(root){ post_Order(root->LeftChild); post_Order(root->RightChild); std::cout<<"值"<<root->data<<std::endl; } } int main(int argc, const char * argv[]) { int in=0; std::cout<<"請輸入數組的長度:"<<std::endl; std::cin>>in; std::cout<<"請輸入數組前序"<<std::endl; int zu; int bb=0; int num=0; while (bb<in) { std::cin>>zu; pre_order[num]=zu; num++; bb=bb+1; } std::cout<<"請輸入數組的中序"<<std::endl; int zuzhong; int numzhong=0; int aa=0; while(aa<in){ std::cin>>zuzhong; mid_order[numzhong]=zuzhong; numzhong++; aa=aa+1; } BinaryTreeNode<int> *root = translate(0, in⑴, 0, in⑴); std::cout<<"后序遍歷"<<std::endl; post_Order(root); return 0; }


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品久久久久一区二区国产 | 久久精品一区二区 | 国产在线一区二区三区 | 国产美女视频网站 | 国产福利第一导航 | 久久精品国产亚洲一区二区三区 | 精品欧美一区二区三区精品久久 | 在线视频日韩精品 | 黄色小视频在线看 | 国产精品乱码一区二区三区 | 国产乱码精品一区二区三区五月婷 | 一区二区三区日韩欧美 | 欧美综合在线视频 | 日韩一二三 | 91欧美一区二区三区综合在线 | 日韩欧美在线不卡 | 欧美一区在线视频 | 国产综合亚洲精品一区二 | av免费在线播放网站 | 久久久久国产精品 | 亚洲国产免费 | 亚洲国产精品成人 | 国产伦精品一区二区三区视频金莲 | 黄色激情网址 | 国产在线视频一区 | 久久麻豆 | 国产精品高潮呻吟久久av黑人 | 日韩精品一区二区三区在线 | 国产激情第一页 | 精品久久久久久久久久久 | 久久久com | 国产精品久久久久久久久搜平片 | 美女久久网站 | 毛片久久久 | 狠狠操电影 | 黄色综合 | 日韩精品视频一区二区三区 | 日韩在线观看精品 | 国产永久免费 | 成人片在线播放 | 国产精品久久国产三级国电话系列 |