发现标准库中的list,没办法直接删除中间的一个结点。而且rust中list本身实现还是挺复杂的。不知道有没有rust的方式来解决我这样的问题。
有个hash表。数据来的时候我就找到对应的node(或者插入新node),更新时间。需要定期去把hash中的很久没有更新的node删除。避免被撑爆。
我的办法就是。在node插入hash的同时,在一个list中记录这个node的引用。每当这个node更新了时间,就把node从list当前位置摘下来移动到list尾部。这样,这个list的头部就会是最老的那些node。然后没几秒钟去遍历一下list头部。如果过期了。就删除。
这样可以避免定期遍历整个hash,不会卡顿。
针对上面的办法。却发现rust标准库中的链表不支持删除任意的结点。请问各位有什么其他链表实现推荐么?再或者,发现rust貌似不推荐使用list,那么这种需求rust的解决方式是什么样的?
--
FROM 117.133.52.*