1. 程式人生 > >序列化(先序)

序列化(先序)

先序遍歷的序列化操作:
使用先序遍歷遍歷每一個節點,
(1)當該結點的值為NULL時,返回"#!"
(2)當該結點的值不為NULL時,str = T->data + "!";
(3)遞迴遍歷左子樹、右子樹
    str = str + preSerialize(T->lchild);
    str = str + preSerialize(T->rchild);
(4)最後返回T


string preSerialize(TreeNode* T)  //序列化
{
    if (!T)
        return "#!";

    string str =
T->data + "!"; str = str + preSerialize(T->lchild); str = str + preSerialize(T->rchild); return str; }