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為孩...