C&S 2024 Exam - Question 1 (b)
itsLu
c_cpp
2 years ago
1.4 kB
9
Indexable
#include <iostream>
using namespace std;
class arrayStack
{
int * stackArray , sizeOfStack , top;
public:
arrayStack(int sizeOfArray = 1)
{
sizeOfStack = sizeOfArray;
stackArray = new int [sizeOfStack];
top = 0;
}
bool isFull()
{
return sizeOfStack == top;
}
void double_size()
{
int * tempArray = new int [sizeOfStack * 2];
for(int k = 0 ; k < sizeOfStack ; k++)
{
tempArray[k] = stackArray[k];
}
sizeOfStack *= 2;
delete[] stackArray;
stackArray = tempArray;
}
void push(int data)
{
if(isFull())
double_size();
stackArray[top] = data;
top++;
}
bool isempty()
{
return top == 0;
}
int pop()
{
if(isempty())
{
cout << "Stack is empty\n";
return -1;
}
top--;
return stackArray[top];
}
int get_number_of_elements()
{
return top;
}
void print_stack()
{
for(int k = top - 1 ; k >= 0; k--)
cout << stackArray[k] << "\t";
}
void delete_stack()
{
top = 0;
}
~arrayStack()
{
cout << "Stack is deleted\n";
delete[] stackArray;
}
};Editor is loading...
Leave a Comment