/*_##################################### #######################################
_##
### Static array Stack
_ ## Author: xwlee
_ ## Time: 2006.12.30
### Chang'an University
_ ## Development condition: win2003 SERVER + vc6.0
_##
_ ## Static_array.cpp File
_####################################### ###################################*/
# Include "Stack. H"
# Include <assert. h>
// -------------------------- Static array -------------------------------
// Maximum number of stacks.
# Define stack_size 100
// An array that stores the values of the stack.
Static stack_type stack [stack_size];
// Pointer to the element at the top of the stack.
Static int top_element =-1;
// -------------------------- Static array -------------------------------
// Push function
Void push (stack_type value)
{
Assert (! Is_full (); // If the stack is full, the assertions are true.
Top_element + = 1;
Stack [top_element] = value;
}
// Pop Function
Void POP (void)
{
Assert (! Is_empty (); // If the stack is empty, the assertions are true.
Top_element-= 1;
}
// Top Function
Stack_type top (void)
{
Assert (! Is_empty (); // If the stack is empty, the assertions are true.
Return stack [top_element];
}
// Is_empty Function
Int is_empty (void)
{
Return top_element =-1;
}
// Is_full Function
Int is_full (void)
{
Return top_element = stack_size-1;
}