TOP

//Pushing
// Big O notation: O(1)
//takes in value to insert
//initially counter is set to -1
if counter + 1 < array length
    array[++counter] = value
//Popping
// Big O notation: O(1)
//takes in nothing returns the popped value
if counter equals -1
    return 0
return array[counter--]
//Peeking 
// Big O notation: O(1)
//takes in nothing return value in top node
if counter equals -1
    return -1
return array[counter]