Marcel12311

C++ implementation Stack added overloading(int,string) (there is no optimization yet)

Apr 12th, 2021
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. struct Element{
  4.     int data=0;
  5.     string data2;
  6.     string nazwa;
  7.     Element* under=NULL;
  8. };
  9. void pushint(int d,Element* &top){
  10.     Element* newobject = new Element;
  11.     newobject->data=d;
  12.     newobject->under=top;
  13.     newobject->nazwa="int";
  14.     top=newobject;
  15. }
  16. void pushstring(string d,Element* &top){
  17.     Element* newobject = new Element;
  18.     newobject->data2=d;
  19.     newobject->under=top;
  20.     newobject->nazwa="str";
  21.     top=newobject;
  22. }
  23. void pop(Element* &top){
  24.     if(top==NULL)exit(0);
  25.     Element* temp = top;
  26.     top=top->under;
  27.     delete temp;
  28. }
  29. void show(Element* top){
  30.     while(top!=NULL){
  31.             if(top->nazwa == "int"){
  32.                 cout << top->data << " -> ";
  33.             }else if(top->nazwa == "str"){
  34.                 cout << top->data2 << " -> ";
  35.             }
  36.         top=top->under;
  37.     }cout <<"NULL";
  38. }
  39. int main(){
  40.     Element* mystack = NULL;
  41.     pushint(24,mystack);
  42.     pushint(33,mystack);
  43.     pushstring("hello",mystack);
  44.     pushint(55,mystack);
  45.     pushstring("omg",mystack);
  46.     pushstring("lol",mystack);
  47.     pushstring("wtf",mystack);
  48.     pushint(6666,mystack);
  49.     pushint(6666,mystack);
  50.     show(mystack);
  51.     cout<<endl<<endl;
  52.     pop(mystack);
  53.     pop(mystack);
  54.     pop(mystack);
  55.     show(mystack);
  56.     cout<<endl;
  57.     show(mystack);
  58. // here you can check your ram
  59. /*
  60.     for(int i=0;i<3000000;i++){
  61.         pushint(66,mystack);
  62.         pushstring("helo",mystack);
  63.     }
  64.     int wait=0;
  65.     cin >> wait;
  66.     for(int i=0;i<1200000;i++){
  67.         pop(mystack);
  68.     }
  69. */
  70.     return 0;
  71. }
  72.  
Add Comment
Please, Sign In to add comment