Advertisement
Guest User

Untitled

a guest
Jun 24th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Elem {
  5.     long long value;
  6.     Elem *next;
  7.     Elem *prev;
  8. };
  9. class List
  10. {
  11.     Elem *begin;
  12.     Elem *first;
  13. public:
  14.     List() {
  15.         begin = NULL;
  16.         first = NULL;
  17.     }
  18.     ~List() {
  19.         Elem *pt;
  20.         while (first != NULL) {
  21.             pt = first;
  22.             first = first->next;
  23.             delete pt;
  24.         }
  25.     }
  26.     void push(long long value) {
  27.         Elem *pt = new Elem;
  28.         pt->value = value;
  29.         pt->next = NULL;
  30.         if (begin == NULL)
  31.             begin = pt;
  32.         begin->next = pt;
  33.         if (first == NULL)
  34.             first = begin;
  35.         Elem *tmp = new Elem;
  36.         tmp = begin;
  37.         begin = begin->next;
  38.         begin->prev = tmp;
  39.     }
  40.     long long pop() {
  41.         if (!first)
  42.             return -1;
  43.         Elem *pt = first;
  44.         int value = pt->value;
  45.         first = pt->next;
  46.         delete pt;
  47.         return value;
  48.     }
  49.     void add(long long value, int num) {
  50.         begin = first;
  51.         for (int i = 0; !empty(); begin = begin->next, i++) {
  52.             if (i == num-2) {
  53.                 Elem *tmp = new Elem;
  54.                 tmp = begin->next;
  55.                 begin->next = NULL;
  56.                 push(value);
  57.                 begin->next = tmp;
  58.                 return;
  59.             }
  60.         }
  61.     }
  62.     bool empty() {
  63.         if (first == NULL)
  64.             return true;
  65.         else
  66.             return false;
  67.     }
  68. };
  69.  
  70. int main() {
  71.     freopen("input.txt", "r", stdin);
  72.     freopen("output.txt", "w", stdout);
  73.     long long tmp, arr[100000];
  74.     int i;
  75.     List list;
  76.     for (i = 0; cin >> tmp; i++) {
  77.         arr[i] = tmp;
  78.     }
  79.     for (int l = 0; l < i - 2; l++) {
  80.         list.push(arr[l]);
  81.     }
  82.     list.add(arr[i-2], arr[i-1]);
  83.     while (!list.empty())
  84.         cout << list.pop() << " ";
  85.     return 0;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement