Sha256: 8f52160a6904868b119640ea7045c8d3bda769600c2c2ffabbaca266c230546e
Contents?: true
Size: 491 Bytes
Versions: 1
Compression:
Stored size: 491 Bytes
Contents
require 'thread' class PriorityQueue def initialize clear end def clear @queues = {} end def [](value) @queues[value] ||= Queue.new end def priorities @queues.keys.sort end def shift priorities.each do |key| if not self[key].empty? return self[key].shift(true) else @queues.delete(key) end end nil end def size @queues.values.inject(0) do |size, queue| size + queue.size end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
priority_queue-0.1.0 | lib/priority_queue.rb |