91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建該二叉樹。

發布時間:2020-08-21 20:32:42 來源:網絡 閱讀:335 作者:秋笙夏笛 欄目:編程語言


思路:根據前序遍歷依次訪問對應的中序遍歷的節點,分為左子樹和右子樹創建。

#include<iostream>
#include<stdlib.h>

using namespace std;
struct BinaryTreeNode
{
BinaryTreeNode(int _value)
:m_nValue(_value)
,m_pLeft(NULL)
,m_pRight(NULL)
{}
int m_nValue;
struct BinaryTreeNode* m_pLeft;
struct BinaryTreeNode* m_pRight;
};
BinaryTreeNode* Buildtree(int* pre,int* mid,int n)
{
if(n==0)
{
return NULL;
}
int num=pre[0];
BinaryTreeNode* head=new BinaryTreeNode(num);

int i=0;
while(i<n&&mid[i]!=num) //求左子樹的長度
{
i++;
}
int left_len=i; //左子樹的長度
int right_len=n-1-i; //右子樹的長度

if(left_len>0) //構建左子樹
{
head->m_pLeft=Buildtree(&pre[1],&mid[0],left_len);
}
if(right_len>0) //構建右子樹
{
head->m_pRight=Buildtree(&pre[left_len+1],&mid[left_len+1],right_len);
}
return head;
}
void PreOrder(BinaryTreeNode* head)
{
if(head==NULL)
{
return;
}
cout<<head->m_nValue<<"->";
PreOrder(head->m_pLeft);
PreOrder(head->m_pRight);
}
void MidOrder(BinaryTreeNode* head)
{
if(head==NULL)
{
return;
}
MidOrder(head->m_pLeft);
cout<<head->m_nValue<<"->";
MidOrder(head->m_pRight);
}
int main()
{
int pre[]={1,2,4,7,3,5,6,8};
int mid[]={4,7,2,1,5,3,8,6};
BinaryTreeNode* head=Buildtree(pre,mid,8);
PreOrder(head);
cout<<endl;
MidOrder(head);
system("pause");
return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

封丘县| 嘉义市| 余姚市| 同德县| 涪陵区| 全州县| 曲周县| 镇巴县| 郎溪县| 永平县| 毕节市| 张家口市| 富平县| 化德县| 潼南县| 宁南县| 手游| 浦江县| 罗源县| 英山县| 武宁县| 龙州县| 安阳县| 雷波县| 进贤县| 新和县| 北碚区| 双鸭山市| 芜湖市| 晋州市| 府谷县| 珲春市| 全南县| 桓仁| 阳信县| 临城县| 益阳市| 崇礼县| 玉山县| 灵宝市| 贵定县|