Infiniti_Inter

15 Однонаправленный список

Nov 13th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <stack>
  5. #include <queue>
  6. #include <list>
  7. #include <forward_list>
  8.  
  9. using namespace std;
  10.  
  11.  
  12.  
  13. ifstream in("input.txt");
  14. ofstream out("output.txt");
  15.  
  16. // input.txt : 1 -5 2 3 -4 51 -14 -24 1 5
  17.  
  18. int main()
  19. {
  20.     forward_list<int> fl;
  21.     while (in.peek() != EOF)
  22.     {
  23.         int cur; in >> cur;
  24.         fl.push_front(cur);
  25.     }
  26.     forward_list<int> ans;
  27.     forward_list<int> rev_temp;
  28.     while (!fl.empty())
  29.     {
  30.         int cur = fl.front();
  31.         fl.pop_front();
  32.         if (cur < 0)
  33.             ans.push_front(cur);
  34.         else
  35.             rev_temp.push_front(cur);
  36.     }
  37.     forward_list<int> temp;
  38.     while (!rev_temp.empty())
  39.     {
  40.         int cur = rev_temp.front();
  41.         rev_temp.pop_front();
  42.         temp.push_front(cur);
  43.     }
  44.  
  45.     while (!temp.empty())
  46.     {
  47.         int cur = temp.front();
  48.         temp.pop_front();
  49.         ans.push_front(cur);
  50.     }
  51.     for (auto v : ans)
  52.         cout << v << " ";
  53.  
  54. }
Add Comment
Please, Sign In to add comment