c++ code We know that stack is used to manage function calls. Whenever a function is called, the local variables, and return address is pushed on to the stack. Once the function completes its execution the return address and local variables are popped from the stack. Your task is to provide an array-based stack implementation to manage the function calls. Data Members and Methods: string * arr (This array should be used to store the return address against each function call) int size (size of array). int count (count of elements pushed on stack). parameterized constructor, it should receive the size and creates an array of that fixed size. isFull function, it should return 1 if the stack is full otherwise 0. push function, receive and inserts the element into the stack. If the stack is full call the reSize function. isEmpty function, it should return 1 if the stack is empty otherwise 0. pop function, removes the element from stack. if the stack is empty than return "-1". reSize function which double the size of array. Inside main: create a stack of size 4 and push the following return addresses on stack. Push ("1180AF") Push ("1230CE") Push ("1044AD") Push ("9020BD") Pop () //remove the element from stack and display the return address on console Push ("1166") Push ("1177") getCount() //this function should return the count of elements in the stack getSize() //this function should return the size of array. remove all the elements from the stack by calling pop function and display the return address on console.
c++ code
We know that stack is used to manage function calls. Whenever a function is called, the local variables,
and return address is pushed on to the stack. Once the function completes its execution the return
address and local variables are popped from the stack. Your task is to provide an array-based stack
implementation to manage the function calls.
Data Members and Methods:
string * arr (This array should be used to store the return address against each function call)
int size (size of array).
int count (count of elements pushed on stack).
parameterized constructor, it should receive the size and creates an array of that fixed size.
isFull function, it should return 1 if the stack is full otherwise 0.
push function, receive and inserts the element into the stack. If the stack is full call the reSize function.
isEmpty function, it should return 1 if the stack is empty otherwise 0.
pop function, removes the element from stack. if the stack is empty than return "-1".
reSize function which double the size of array.
Inside main:
create a stack of size 4 and push the following return addresses on stack.
Push ("1180AF")
Push ("1230CE")
Push ("1044AD")
Push ("9020BD")
Pop () //remove the element from stack and display the return address on console
Push ("1166")
Push ("1177")
getCount() //this function should return the count of elements in the stack
getSize() //this function should return the size of array.
remove all the elements from the stack by calling pop function and display the return address on console.
Step by step
Solved in 2 steps with 1 images