Question 4. Stacks [9]
Given the definitions below for a node struct and push and pop stack functions, provide appropriate implementations for the two functions.
// a stack of floats, assumes that next points
// to the node 'below' the current one
struct node {
float data;
node *next;
};
// assuming top is a pointer to the current top node,
// push d onto the top of the stack
// return true iff successful
bool push(float d, node* &top);
// assuming top is a pointer to the current top node,
// pop the top value off the stack into d
// and delete the popped node
// return true iff successful
bool pop(float &d, node* &top);