Stack |
A stack is a data structure that operates on a Last-In, First-Out (LIFO) basis, meaning the last element added is the first one to be removed.
Time Complexities:
#include<iostream> using namespace std; class MyStack{ private: int* array; int size; int capacity; public: MyStack(){ array = new int[1]; size = 0; capacity = 1; } int getSize(){ return size; } int getCapacity(){ return capacity; } void push(int element){ if(size+1>capacity){ int new_capacity = capacity*2; int* newArray = new int[new_capacity]; for(int i = 0; i<size; i++){ newArray[i] = array[i]; } newArray[size] = element; size++; array = newArray; capacity = new_capacity; } else { array[size] = element; size++; } } void pop(){ size = max(size-1,0); } int top(){ if(size>0){ return array[size-1]; } return -1; } void display(){ for(int i = 0; i<size; i++){ cout << array[i] << " "; } } };