|
dl
|
N叉树 更多...
#include <dl_tree.h>
类 | |
| class | Node |
Public 成员函数 | |
| NTree () | |
| Node * | AddRoot (const T &v) |
| 添加根节点 | |
| Node * | Add (const T &v, Node *node_parent) |
| 添加子节点 | |
| Node * | Add (const T &v, const T &parent) |
| Node * | PushBack (const T &v) |
| 第一个添加的为根节点,其他均为根节点的子节点 | |
| bool | Del (Node *node) |
| 删除节点 | |
| Node * | Get (T v) |
| 查找,失败返回nullptr | |
| bool | Has (Node *node) |
| 包含节点 | |
| void | SetParent (Node *node, Node *parent) |
| 修改父节点 | |
| template<typename F> | |
| void | ForEach (F func) |
| 遍历,保证父节点先遍历 | |
| template<typename T1, typename F> | |
| void | Copy (const NTree< T1 > &b, F func) |
| 从另一个树填充 | |
| const std::list< Node * > & | GetAll () const |
| 返回所有节点 | |
| const Node * | GetRoot () const |
| 返回根节点,空树返回空 | |
| size_t | GetSize () const |
| 返回总数量 | |
| auto | begin () |
| 标准库迭代方法不保证父节点先遍历 | |
| auto | end () |
| ~NTree () | |