C++ Online Compiler
Example: Merge Two Sorted Arrays (Two-Pointer) in C++
C
C++
C#
Java
Python
PHP
main.cpp
STDIN
Run
// Merge Two Sorted Arrays (Two-Pointer) #include <iostream> #include <vector> #include <algorithm> // Not strictly needed for this approach but good practice for vector ops int main() { // Step 1: Define the two sorted input arrays std::vector<int> arr1 = {1, 3, 5, 7, 9}; std::vector<int> arr2 = {2, 4, 6, 8, 10, 12}; // Step 2: Calculate the size of the merged array and declare it int m = arr1.size(); int n = arr2.size(); std::vector<int> merged_arr(m + n); // Step 3: Initialize pointers for arr1, arr2, and merged_arr int i = 0; // Pointer for arr1 int j = 0; // Pointer for arr2 int k = 0; // Pointer for merged_arr // Step 4: Merge elements while both arrays have elements to compare while (i < m && j < n) { if (arr1[i] <= arr2[j]) { merged_arr[k] = arr1[i]; i++; } else { merged_arr[k] = arr2[j]; j++; } k++; } // Step 5: Add remaining elements from arr1 (if any) while (i < m) { merged_arr[k] = arr1[i]; i++; k++; } // Step 6: Add remaining elements from arr2 (if any) while (j < n) { merged_arr[k] = arr2[j]; j++; k++; } // Step 7: Print the merged array std::cout << "Merged array using Two-Pointer Approach: "; for (int val : merged_arr) { std::cout << val << " "; } std::cout << std::endl; return 0; }
Output
Clear
ADVERTISEMENTS