Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Complete the following array implementation of STACK in C++ to include two other

ID: 3671991 • Letter: C

Question

Complete the following array implementation of STACK in C++ to include two other

member functions int peek() and void flush(). Function int peek() returns the top element

in the stack without popping this element off the stack. Function void flush() displays the

entire stack content, and empties the stack. Do not call empty() and pop() functions in

flush(). Function flush() displays an empty line if the stack is empty.

class STACK

{

private:

int *s; int N;

public:

STACK(int maxN)

{ s = new int[maxN]; N = 0; }

int empty() const

{ return N == 0; }

void push(int item)

{ s[N++] = item; }

int peek()

{

/* implement this part */

}

int pop()

{ return s[--N]; }

void flush()

{

/* also implement this part */

}

};

Write a C++ program that creates a stack of integer numbers (for up to 100 numbers), and

then it does the following on user’s input (your program must check for conditions:

e.g. no pop when the stack is empty):

P x : pushes integer x onto the stack

R : pops off the stack top and display

E : outputs “empty” if stack is empty; otherwise “not empty”

K : outputs the stack top integer x using function peek

F : outputs the entire content of the stack in last-in first-out order; empties the stack

using function flush

See below for a sample dialogue.

In this assignment, both correctness and efficiency of your programs are important.

Example Dialogue (input can be read from a specific file, or can be directed to a file):

E <ENTER>

empty

P 1

P 10

E <ENTER>

not empty

K

10

P 19

R

19

R

10

E <ENTER>

not empty

P 5

P 20

F

20 5 1

E <ENTER>

empty

R

nothing to pop off; stack is empty

P 2

E <ENTER>

not empty

Explanation / Answer

Here is the code as per your comments. I implemented the code.

class STACK
{
private:
int *s; int N;
public:
STACK(int maxN)
{ s = new int[maxN]; N = 0; }
int empty() const
{ return N == 0; }
void push(int item)
{ s[N++] = item; }
int peek()
{
/* implement this part */
return s[N];
}
int pop()
{ return s[--N]; }
void flush()
{
/* also implement this part */
if(N==0)
cout << " " << endl;
else
delete[] s; // Use this if you wish to entirely deallocate memory for the stack.
/* Use the following lines to place 0 s in the stack elements.
{
for(int i =0; i <N;i++)
s[i] =0;
} end here */

}
};

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote