C&S 2024 Exam - Question 1 (b)
itsLu
c_cpp
2 years ago
1.4 kB
6
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