gpt4 book ai didi

c# - 选择队列中的特定对象(即 peek +1)

转载 作者:可可西里 更新时间:2023-11-01 08:34:04 24 4
gpt4 key购买 nike

如果 Peek 返回队列中的下一个对象,是否有我可以用来获取特定对象的方法?例如,我想找到队列中的第三个对象并更改其中一个值?

现在我只是在队列中执行一个 foreach,这可能是最好的解决方案,但我不知道是否有什么特别的东西可以与 peek 一起使用?即 Queue.Peek(2)

最佳答案

如果您想直接访问元素(使用 O(1) 操作),请使用数组而不是队列,因为队列具有不同的功能 (FIFO)。

队列上的随机访问操作将是O(n),因为它需要遍历集合中的每个元素......这反过来又使其成为顺序的访问,而不是直接随机访问。


然后,由于您使用的是 C#,因此可以使用 System.Linq 中的 queue.ElementAt(n)(因为 Queue实现 IEnumerable) 但不会是 O(1) 即它仍将迭代元素。

关于c# - 选择队列中的特定对象(即 peek +1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6139037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com