fork download
  1. #include <forward_list>
  2. #include <iostream>
  3.  
  4. bool ReverseTest(const std::forward_list<int32_t>& sorceList, const std::forward_list<int32_t>& newList)
  5. {
  6. auto list{sorceList};
  7. list.reverse();
  8.  
  9. auto listIterator = list.begin();
  10. auto newListIterator = newList.begin();
  11. for (; (listIterator != list.end()) || (newListIterator != newList.end());
  12. ++listIterator, ++newListIterator)
  13. {
  14. if (*listIterator != *newListIterator)
  15. {
  16. return false;
  17. }
  18. }
  19.  
  20. return (listIterator == list.end()) && (newListIterator == newList.end());
  21. }
  22.  
  23. std::forward_list<int32_t> Create()
  24. {
  25. std::forward_list<int32_t> list;
  26. for (int32_t i = 1; i < 5; ++i)
  27. {
  28. list.push_front(i);
  29. }
  30. return list;
  31. }
  32.  
  33. std::forward_list<int32_t> Reverse(const std::forward_list<int32_t>& list)
  34. {
  35. std::forward_list<int32_t> newList{list};
  36. newList.reverse();
  37. return newList;
  38. }
  39.  
  40.  
  41. int main()
  42. {
  43. auto list = Create();
  44.  
  45. std::forward_list<int32_t> newList; //= Reverse(list);
  46. for (int32_t i = 4; i > 1; --i)
  47. {
  48. newList.push_front(i);
  49. }
  50. newList.push_front(1);
  51.  
  52. std::cout << ReverseTest(list, newList);
  53. return 0;
  54. }
Success #stdin #stdout 0s 4560KB
stdin
Standard input is empty
stdout
1