序列化(先序)
先序遍歷的序列化操作:
使用先序遍歷遍歷每一個節點,
(1)當該結點的值為NULL時,返回"#!"
(2)當該結點的值不為NULL時,str = T->data + "!";
(3)遞歸遍歷左子樹、右子樹str = str + preSerialize(T->lchild);str = str + preSerialize(T->rchild);
(4)最后返回Tstring preSerialize(TreeNode* T) //序列化
{if (!T)return "#!";string str = T->data + "!";str = str + preSerialize(T->lchild);str = str + preSerialize(T->rchild);return str;
}
總結