Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template<class T>
- class StackT {
- private:
- T *data;
- int elements;
- int maxElements;
- void reSize()
- {
- T *data1 = new T[elements + 50];
- for(int i = 0; i<elements;i++ )
- {
- data1[i] = data[i];
- }
- maxElements+=50;
- delete[] data;
- data = data1;
- }
- public:
- StackT() {
- data = new T[50];
- elements = 0;
- maxElements = 50;
- }
- ~StackT() {
- delete[] data;
- }
- bool empty() {
- return elements == 0;
- }
- T get() {
- if (empty()) return NULL;
- T toReturn = data[elements - 1];
- data[elements--] = NULL;
- return toReturn;
- }
- T front() {
- if (empty()) return NULL;
- return data[elements - 1];
- }
- void put(T element) {
- if (elements == maxElements)
- reSize();
- data[elements++] = element;
- }
- };
- int main() {
- StackT<int> stos = StackT<int>();
- for(int i=0; i<70; i++)
- {
- stos.put(i);
- }
- while (!(stos.empty()))
- {
- cout<<stos.get();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement