Advertisement
Guest User

Untitled

a guest
Feb 28th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. #include<iostream>
  2. #include<list>
  3. using namespace std;
  4. struct node{int z;node *prev;node *next;};
  5. typedef node *pnode;
  6. int main(){
  7. pnode head=NULL,tail,mid,el;
  8. int n,i,j,k=0;string w;
  9. cin>>n;
  10. for(i=0;i<n;i++){
  11. cin>>w;
  12. if(w=="add"){
  13. cin>>j;k++;
  14. el=new node;
  15. el->z=j;
  16. el->prev=NULL;
  17. el->next=NULL;
  18. if(head){
  19. el->prev=tail;
  20. tail->next=el;
  21. tail=el;
  22. if(k>2&&k%2==0)mid=mid->next;}
  23. else{head=el;tail=el;mid=el;}}
  24. else if(w=="take"){k--;
  25. el=tail->prev;
  26. el->next=NULL;
  27. delete(tail);
  28. tail=el;
  29. if(k>2&&k%2)mid=mid->prev;}
  30. else {
  31. tail->next=head;
  32. head=mid->next;
  33. mid->next=NULL;
  34. tail=mid;}}
  35. cout<<k<<endl;
  36. el=head;
  37. while(el){cout<<el->z<<' ';el=el->next;}
  38. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement