保存对象的最佳集合按键排序和删除

时间:2016-06-02 18:07:35

标签: c# sortedlist

我有活动的事件和时间戳。我想保持按时间戳排序的对象。我想每分钟删除旧对象。由于已经按时间戳排序的对象我认为RemoveLesserThenKey之类的函数效果最好。

我检查了sortedlist但似乎它没有这样的功能。你能给我一些建议吗?

我是否必须编写自己的排序列表?

编辑:
1 - 事件不是根据时间来的 2 - 我希望集合使用排序结构(如BST)来删除对象。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我认为你最好为此编写自己的排序链表。插入可以在最坏的情况下完成O(n)时间,并且移除低于特定阈值的所有节点将是简单的线性时间操作。

正如您所建议的那样,您也可以使用BST。您每次执行批量删除操作时都必须记住设置新的根目录。

编辑:考虑到这一点,在几次插入/删除轮次之后,BST会向右移动非常不平衡。它可能不会为链接列表节省时间。