size example
The following classes implement a simple stack based on the Array class. When items are pushed onto the stack, the size of the array is checked to see if the item will fit. If not, the add method( ) is used. When items are popped from the stack, the array does not shrink. If another item is pushed onto the stack, the item can be stored in an existing array element.
class Stack of Array
this.ptr = 0
function push( xArg )
if this.ptr == this.size
this.add( xArg )
this.ptr++
else
this[ ++this.ptr ] = xArg
endif
function pop( )
if this.ptr > 0
return this[ this.ptr-- ]
else
throw new StackException( )
endif
function top( )
if this.ptr > 0
return this[ this.ptr ]
else
throw new StackException( )
endif
function empty( )
return this.ptr == 0
endclass
class StackException of Exception
this.message = "Stack fault"
endclass