public int push(int i){
  if ((m_firstFree + 1) >= m_mapSize) {
    m_mapSize+=m_blocksize;
    int newMap[]=new int[m_mapSize];
    System.arraycopy(m_map,0,newMap,0,m_firstFree + 1);
    m_map=newMap;
  }
  m_map[m_firstFree]=i;
  m_firstFree++;
  return i;
}

public int push ( int i ) { if ( ( m_firstFree + 1 ) >= m_mapSize ) { m_mapSize += m_blocksize ; int newMap [ ] = new int [ m_mapSize ] ; System . arraycopy ( m_map , 0 , newMap , 0 , m_firstFree + 1 ) ; m_map = newMap ; } m_map [ m_firstFree ] = i ; m_firstFree ++ ; return i ; }
pushes an item onto the top of this stack .
