fork download
  1.  
  2. #include<iostream>
  3. #include<vector>
  4. #include <sstream>
  5. using namespace std;
  6.  
  7. vector<int> take_int(string str) {
  8. stringstream ss(str);
  9. vector<int> result;
  10. char ch;
  11. int tmp;
  12. while(ss >> tmp) {
  13. result.push_back(tmp);
  14. ss >> ch;
  15. }
  16. return result;
  17. }
  18.  
  19. void mergeArrays(vector<int> arr1, vector<int> arr2, int n1,
  20. int n2, vector<int> &arr3)
  21. {
  22. int i = 0, j = 0, k = 0;
  23.  
  24. while (i<n1 && j <n2)
  25. {
  26.  
  27. if (arr1[i] < arr2[j])
  28. arr3[k++] = arr1[i++];
  29. else
  30. arr3[k++] = arr2[j++];
  31. }
  32.  
  33. while (i < n1)
  34. arr3[k++] = arr1[i++];
  35.  
  36. while (j < n2)
  37. arr3[k++] = arr2[j++];
  38. }
  39.  
  40. // Driver code
  41. int main()
  42. {
  43. string a,b;
  44. cin>>a;
  45. cin>>b;
  46. vector<int> arr1 = take_int(a);
  47. vector<int> arr2 = take_int(b);
  48. int n1 = arr1.size();
  49. int n2 = arr2.size();
  50.  
  51. vector<int> arr3(n1+n2);
  52. mergeArrays(arr1, arr2, n1, n2, arr3);
  53.  
  54. for (int i=0; i < n1+n2-1; i++)
  55. cout << arr3[i] << ",";
  56. cout<<arr3[n1+n2-1];
  57. return 0;
  58. }
Success #stdin #stdout 0s 5340KB
stdin
1,3,5,7,8
2,3,4,5,6
stdout
1,2,3,3,4,5,5,6,7,8