亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

阜平县| 宁陕县| 卓资县| 保山市| 嘉黎县| 阿尔山市| 峨眉山市| 芒康县| 红安县| 额济纳旗| 阳江市| 南京市| 惠水县| 西峡县| 柳林县| 天门市| 松潘县| 海晏县| 隆德县| 玛多县| 江安县| 墨江| 绥化市| 泗阳县| 塘沽区| 平凉市| 天祝| 聂拉木县| 镇雄县| 永修县| 灵台县| 临沧市| 榆树市| 青铜峡市| 瓦房店市| 隆德县| 涟水县| 榕江县| 鄯善县| 长治市| 鄂尔多斯市|