日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

反序列化(先序)

發布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 反序列化(先序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【注意】反序列化操作,只有先序序列化,從來沒聽說過中序序列化、后序序 列化。實際上有中序后序序列化反序列化 要求:將vector<string> str容器中的字符串生成二叉樹 解答:依次獲取每一個字符串str[index],進行序列化操作:先用str[index]生成根節點T再遞歸生成左子樹T->lchild再遞歸生成右子樹T->rchile最后返回生成的整棵樹的根節點T #include <vector> #include <string> using namespace std;typedef struct TreeNode {string data;struct TreeNode* lchild;struct TreeNode* rchild; }TreeNode;void pretravel(TreeNode* T) //先序遍歷 {if (T != NULL){cout << T->data << " ";pretravel(T->lchild);pretravel(T->rchild);} }int index = -1;TreeNode* PreDeserialize(vector<string>& str) {index++; //訪問每一個str[index]元素if (index >= str.size() || str[index] == "#")return NULL;TreeNode* T = new TreeNode; //生成T節點T->data = str[index];T->lchild = PreDeserialize(str); //遞歸生成左子樹T->rchild = PreDeserialize(str); //遞歸生成右子樹return T; }int main() {vector<string> str = { "30", "10", "50", "#", "#", "#", "20", "45", "#", "#", "35", "#", "#" };TreeNode* head = PreDeserialize(str);pretravel(head);return 0; }

總結

以上是生活随笔為你收集整理的反序列化(先序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。