//c++ program to merge two sorted array without using extra space. //sample: input //arr1[]= 1 4 7 8 10; //arr2[]=2 3 9; //sample output: //arr1[]={1,2,3,4,7} //arr2[]={8,9,10} //Time complexity: O(n1*m1) ,n1 is for linear traversal and m1 is for reordering. //space complexity:O(1) #include using namespace std; void printArray(int arr[], int n) { for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; } void merge_array(int arr1[],int arr2[],int n1,int n2) { for(int i=0;iarr2[0]) { int temp=arr1[i]; /* logic for swapping the elements */ arr1[i]=arr2[0]; arr2[0]=temp; /* swap(arr1[i],arr2[0]); this is stl function to swap the element*/ // after swapping the array element we need to sort the element of second array because array is sorted. int key,j; for(int i=1;i=0 && arr2[j]>key) { arr2[j+1]=arr2[j]; j=j-1; } arr2[j+1]=key; } } } } int main() { //declaring a array1 and array2, int arr1[100],arr2[100]; int n1,n2,i; cout<<"Enter the element number of you want in array 1 and array2"<<" "; cin>>n1>>n2; //taking user input for the array1 element and array2 element. cout<<"enter the element of array1"<<" "; for(i=0;i>arr1[i]; } cout<<"enter the element of array2"<<" "; for(i=0;i>arr2[i]; } //calling the merge array function. merge_array(arr1,arr2,n1,n2); //for printing the final array element. cout << "arr1: "; printArray(arr1, n1); cout << "arr2: "; printArray(arr2, n2); return 0; }