class Zadt::MinMaxStack
Public Class Methods
help()
click to toggle source
# File lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStack.rb, line 3 def self.help Zadt::ADT::show_minmaxstack_help_message end
new()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 6 def initialize @values = [] end
Public Instance Methods
empty?()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 46 def empty? @values.empty? end
help()
click to toggle source
# File lib/zadt/HelpModules/Functionality/StackQueue/MinMaxStack.rb, line 7 def help MinMaxStack.help end
length()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 37 def length @values.length end
max()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 33 def max @values.empty? ? "Empty" : @values.last[2] end
min()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 29 def min @values.empty? ? "Empty" : @values.last[1] end
peek()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 25 def peek @values.last[0] end
pop()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 21 def pop @values.pop[0] end
push(val)
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 10 def push(val) if @values.empty? @values.push([val, val, val]) else cur_min = @values.last[1] cur_max = @values.last[2] @values.push([val, [val, cur_min].min, [val, cur_max].max]) @values end end
show()
click to toggle source
# File lib/zadt/AbstractDataTypes/StackQueue/MinMaxStack.rb, line 41 def show showthis = [] @values.map{|value| value[0]} end