This is my code,I've run an iterator i in the first array and swapped each element with the min_element in array 2 and then called sort on the second array.But the output isn't sorted at all.I dont know whats wrong with this approach.
#include<bits/stdc++.h>
class Solution{
public:
void swap(int *a,int *b){
int temp=*a;
*a=*b;
*b=temp;
return;
}
void merge(int arr1[], int arr2[], int n, int m)
{
int i,j=0;
while(i<n){
if(arr1[i]<arr2[j])
{
i++;
}
else{
swap(arr1+i,min_element(arr2,arr2+m));
i++;
}
}
sort(arr2,arr2+m);
}
};
For Input:
4 5 //size
1 3 5 7 //arr1
0 2 6 8 9 //arr2
your output is:
1 3 5 7 0 2 6 8 9