使用ruby中的Queue类与使用数组实现队列之间的区别

时间:2016-07-27 11:32:24

标签: ruby algorithm performance queue

在ruby中,如果我想实现一个队列,那么我可以使用标准库的Queue类,或者我可以使用带有方法push和shift的数组,分别在队列中对项目进行入队和出列。 在ruby中实现队列的两种方法是否有任何性能差异,或者它们是否相同?

由于

2 个答案:

答案 0 :(得分:3)

Queue类用于同步线程之间的通信。如果你正在做并发的事情,你会使用它。

出于您的目的,您应该使用数组。

答案 1 :(得分:0)

ruby​​数组实现了你需要的两种方法 - 推送和弹出 - 但我不确定它是否清理它的内部数组,所以如果你已经推送了大量数据,那么可能不会很好。

更好的方法可能是实现自己并管理链接列表。 here是基于链表的堆栈的示例,可能很容易修改。

不确定许可证,所以我不会发布别人的代码。