Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct ListElem
- {
- int value;
- ListElem *next;
- ListElem *prev;
- };
- class List
- {
- ListElem *pbeg, *pend;
- int Size = 0;
- public:
- List()
- {
- pend = pbeg = NULL;
- }
- int get_Size()
- {
- return Size;
- }
- void push_front(int val);
- int pop_front();
- };
- void List::push_front(int val)
- {
- ListElem *pnew = new ListElem;
- ListElem *current = pnew;
- pnew->value = val;
- pnew->next = NULL;
- pnew->prev = NULL;
- if (pbeg == NULL)
- {
- pbeg = pnew;
- pend = pnew;
- }
- else
- {
- pnew -> next = pbeg;
- current = current->next;
- current->prev = pnew;
- pbeg = pnew;
- }
- Size++;
- }
- int List::pop_front()
- {
- if (!pbeg)
- return -1;
- ListElem *ptr = pbeg;
- int val = pbeg->value;
- pbeg = pbeg->next;
- if (!pbeg)
- pend = NULL;
- delete ptr;
- return val;
- }
- int main ()
- {
- List lst;
- int number;
- while(cin >> number)
- lst.push_front(number);
- int dlina = lst.get_Size();
- int *arr = new int[dlina];
- for (int i = 0; i < dlina; i++)
- arr[i] = lst.pop_front();
- for (int i = dlina - 1; i >= 0; i--)
- cout << arr[i] << " ";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement