ソースを参照

avl_tree: tiny fixes + iterator features.

undefined
Guillaume Bittoun Sam Hocevar <sam@hocevar.net> 10年前
コミット
a9e67e2cc1
1個のファイルの変更27行の追加3行の削除
  1. +27
    -3
      src/lol/algorithm/avl_tree.h

+ 27
- 3
src/lol/algorithm/avl_tree.h ファイルの表示

@@ -76,8 +76,8 @@ public:
if (this->m_root)
{
this->m_root->get_min(min_node);
key_ptr = &min_node->m_key;
value_ptr = &min_node->m_value;
key_ptr = &min_node->get_key();
value_ptr = &min_node->get_value();

return true;
}
@@ -92,7 +92,8 @@ public:
if (this->m_root)
{
this->m_root->get_max(max_node);
value_ptr = &max_node->value;
key_ptr = &max_node->get_key();
value_ptr = &max_node->get_value();

return true;
}
@@ -100,6 +101,29 @@ public:
return false;
}

class Iterator;
class ConstIterator;

Iterator get_iterator()
{
tree_node * node = nullptr;

if (this->m_root)
node = this->m_root->get_min();

return Iterator(node);
}

ConstIterator get_iterator() const
{
tree_node * node = nullptr;

if (this->m_root)
node = this->m_root->get_min();

return ConstIterator(node);
}

protected:

class tree_node


読み込み中…
キャンセル
保存