Guest User

Untitled

a guest
Apr 22nd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.19 KB | None | 0 0
  1. #include "StdAfx.h"
  2. #include "PointerStack.h"
  3.  
  4. using namespace std;
  5.  
  6. PointerStack::PointerStack(void){
  7.     _dataArray = new int[10];
  8.     _size = 10;
  9.     _elements = 0;
  10. }
  11.  
  12. PointerStack::PointerStack(int maxSize){
  13.     _dataArray = new int[maxSize];
  14.     _size = maxSize;
  15.     _elements = 0;
  16. }
  17.  
  18. PointerStack::~PointerStack(void){
  19.     delete _dataArray;
  20. }
  21.  
  22. int PointerStack::maxSize(){
  23.     return _size;
  24. }
  25.  
  26. int PointerStack::size(){
  27.     return _elements;
  28. }
  29.  
  30. bool PointerStack::isEmpty(){
  31.     if(_elements == 0){
  32.         return true;
  33.     }else{
  34.         return false;
  35.     }
  36. }
  37.  
  38. bool PointerStack::isFull(){
  39.     if(_elements == _size){
  40.         return true;
  41.     }else{
  42.         return false;
  43.     }
  44. }
  45.  
  46. void PointerStack::push(int value){
  47.     if(_elements<_size){
  48.         *(_dataArray+_elements) = value;
  49.         _elements++;
  50.     }
  51. }
  52.  
  53. int PointerStack::pop(){
  54.     if(_elements>0){
  55.         _elements--;
  56.         return *(_dataArray+_elements);
  57.     }else{
  58.         return 0;
  59.     }
  60. }
  61.  
  62. int PointerStack::top(){
  63.     if(_elements>0){
  64.         return *(_dataArray+_elements-1);
  65.     }else{
  66.         return 0;
  67.     }
  68. }
  69.  
  70. string PointerStack::toString(){
  71.     stringstream stream;
  72.     stream << "Values: ";
  73.     for(int i = 0; i<_elements;i++){
  74.         stream << "[" <<*(_dataArray+i) << "]";
  75.     }
  76.     return stream.str();
  77. }
Add Comment
Please, Sign In to add comment