我有活动的事件和时间戳。我想保持按时间戳排序的对象。我想每分钟删除旧对象。由于已经按时间戳排序的对象我认为RemoveLesserThenKey之类的函数效果最好。
我检查了sortedlist但似乎它没有这样的功能。你能给我一些建议吗?
我是否必须编写自己的排序列表?
编辑:
1 - 事件不是根据时间来的
2 - 我希望集合使用排序结构(如BST)来删除对象。
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为你最好为此编写自己的排序链表。插入可以在最坏的情况下完成O(n)时间,并且移除低于特定阈值的所有节点将是简单的线性时间操作。
正如您所建议的那样,您也可以使用BST。您每次执行批量删除操作时都必须记住设置新的根目录。
编辑:考虑到这一点,在几次插入/删除轮次之后,BST会向右移动非常不平衡。它可能不会为链接列表节省时间。