home *** CD-ROM | disk | FTP | other *** search
- /* ==================================================================
- FILE: Stack.js
- DESCR: Stack object.
- NOTES:
- ================================================================== */
-
- /*
- DESCR: Stack class.
- PARAMS:
- RETURNS:
- NOTES:
- */
- function stack()
- {
- this.pointer = -1
- this.topItem
- this.aItems = new Array
-
- this.push = push
- this.pop = pop
- this.isEmpty = isEmpty
- this.clear = clear
- }
-
- /*
- DESCR:
- PARAMS: item A variable of any type.
- RETURNS:
- NOTES:
- */
- function push( item )
- {
- this.topItem = item
- this.aItems[ ++this.pointer ] = item
- }
-
- /*
- DESCR:
- PARAMS:
- RETURNS: The item.
- NOTES:
- */
- function pop()
- {
- if ( this.isEmpty() ) return null
- this.topItem = this.aItems[ this.pointer - 1 ]
- return this.aItems[ this.pointer-- ]
- }
-
- /*
- DESCR: Empties the stack.
- PARAMS:
- RETURNS:
- NOTES:
- */
- function clear()
- {
- this.pointer = -1
- this.topItem = null
- }
-
- /*
- DESCR:
- PARAMS:
- RETURNS: true if the stack contains no members; false otherwise.
- NOTES:
- */
- function isEmpty()
- {
- return ( this.pointer < 0 ? true : false )
- }
-
- // End class definition: stack.
-
-