像C ++中的数据结构一样响

时间:2012-06-11 10:50:43

标签: c++ linked-list circular-buffer

  

可能重复:
  Does a standard implementation of a Circular List exist for C++?

我正在寻找一种数据结构,其中访问行为“环状”,所以如果我增加迭代器并达到结束,它将重置为开头。如果我添加数据,则大小应该增加。

void ++(iterator& it, datastructure& data)
{       
    ++it;   // should have checked if it is already the end
    if( it == data.end() && data.size() )
    {
         it = data.begin();
    }
}

我认为boost::circular_buffer不是我想要的,因为插入行为像环状。我的名单应该被允许无限增长。

对此有一种标准方式吗?我可以很容易地找到一种解决方法,但如果存在类似的东西,我很好奇。一个链表,其中结尾始终连接到第一个元素或某些元素。

更新

正如s3rius建议的那样,我查看了一个类似的问题,并且有一个示例如何为这样的事情编写自己的迭代器。我会试试这个,也投票结束。

0 个答案:

没有答案