多叉樹xml的資料結構

2021-06-18 13:07:27 字數 1744 閱讀 6192

1,考慮到xml自帶的節點 xmlnodeptr 太大,沒有必要那麼多功能,就自己寫了乙個node多叉樹

裡面主要有4個成員,

// 父節點

node* m_parent;

// 孩子節點

vector

m_children;

// key值,對應xmlnode裡面的name成員

string m_key;

// 屬性值 properties->children->content

string m_value;

h檔案#ifndef __mapedit__node__

#define __mapedit__node__

#include

#include

usingnamespace

std;

class node

;typedef

vector

::iterator nodeitr;

#define new_node(key, value) new node(key, value)

#endif /* defined(__mapedit__node__) */

// cpp檔案

#include "node.h"

#include "cocos2d.h"

node::node(string key, string value/* = ""*/)

: m_key(key)

, m_value(value)

node::~node()

// 獲得父節點

node* node::getparent()

// 獲得所有孩子節點

vector

* node::getchildren()

// 獲得該節點的key

string

node::getkey()

// 獲得改節點的value

string

node::getvalue()

// 判斷是否是節點

bool

node::isnode()

returnfalse; }

// 判斷是否是葉子

bool

node::isleaf()

// 增加孩子節點

void

node::addchild(node* child)

// 釋放記憶體,包括所有的子孫節點

void

node::releasealldatas()

void

node::releasenode(node* node)

delete node;

node = null;

}void

node::printf()

void

node::printf(node* node)

}// xml的寫入

void

xmlwrite::datawrite(node* node, xmlnodeptr parent)

}else }

// 解析xml

void

xmlparse::parsedata(xmlnodeptr node, node* data)

//        cclog("--------------------");

node = node->children;

for (; node; node = node->next)}}

資料結構 多叉樹 B樹

二叉樹存在的問題 二叉樹需要載入到記憶體的,當如果二叉樹的節點很多的時候,就存在如下問題 解決這個問題就需要使用到多叉樹 在二叉樹中,每個節點有資料項,最多有兩個子節點。如果允許每個節點可以更多的資料項和更多的子節點,就是多叉樹 multiwaytree 多叉樹通過重新組織節點,減少樹的高度,能對二...

資料結構 多叉樹的建立

我有這麼個需求,是一張地區表,地區表中包含多層級的地區,如 中國,河北省,邢台市,橋東區。一共有4個層級。資料庫字段設計為 idparentid name level 編號父id 地區名等級 我要講這些資料轉為 有層級關係的json資料 很顯然資料的結構是個樹,於是就要建立樹的結構 節點 node....

資料結構 樹,二叉樹

樹 1 樹是n n 0 個有限個資料的元素集合,形狀像一顆倒過來的樹。2 節點 結點包含資料和指向其它節點的指標。3 根節點 樹第乙個結點稱為根節點。4 結點的度 結點擁有的子節點個數。5 葉節點 沒有子節點的節點 度為0 6 父子節點 乙個節點father指向另乙個節點child,則child為孩...