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