fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. int main()
  6. {
  7. std::vector<int> sequenceA = {0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 13};
  8. std::vector<int> sequenceB = {2, 4, 6, 8, 10, 12, 13};
  9. std::vector<int> result;
  10.  
  11. std::stable_sort(sequenceA.begin(), sequenceA.end());
  12. std::stable_sort(sequenceB.begin(), sequenceB.end());
  13.  
  14. int indexA = 0;
  15. int indexB = 0;
  16. while (indexA < sequenceA.size() && indexB < sequenceB.size()) {
  17. const int valueA = sequenceA[indexA];
  18. const int valueB = sequenceB[indexB];
  19. if (valueA == valueB) {
  20. result.push_back(valueA);
  21. ++indexA;
  22. ++indexB;
  23. } else if (valueA < valueB) {
  24. ++indexA;
  25. } else {
  26. ++indexB;
  27. }
  28. }
  29.  
  30. for (int value : result) {
  31. std::cout << value << ", ";
  32. }
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0s 3480KB
stdin
Standard input is empty
stdout
2, 4, 6, 8, 10, 12, 13,