xxxxxxxxxx
// Create a function that when given 2 sorted arrays, it returns
// a new sorted array that contains both elements of input arrays
// --- Examples
// merge([1,3], [2,4]) === [1,2,3,4]
// merge([1,5], [4,6,7]) === [1,4,5,6,7]
// merge([4,6,7], [1,5]) === [1,4,5,6,7]
function merge(sortedArr1, sortedArr2) {
let p1 = 0;
let p2 = 0;
let res = [];
while (p1 < sortedArr1.length && p2 < sortedArr2.length) {
if (sortedArr1[p1] < sortedArr2[p2]) {
res.push(sortedArr1[p1]);
p1++;
} else {
res.push(sortedArr2[p2]);
p2++;
}
}
while (p1 < sortedArr1.length) {
res.push(sortedArr1[p1]);
p1++;
}
while (p2 < sortedArr2.length) {
res.push(sortedArr2[p2]);
p2++;
}
return res;
}
xxxxxxxxxx
def merge(num1, num2):
arr3 = [None]*(len(num1)+len(num2))
i, j, k = 0, 0, 0
while i < len(arr1) and j < len(arr2):
if arr1[i] < arr2[j]:
arr3[k] = arr1[i]
k += 1
i += 1
else:
arr3[k] = arr2[j]
k += 1
j += 1
while i < len(num1):
arr3[k] = arr1[i];
k += 1
i += 1
while j < len(num2):
arr3[k] = arr2[j];
k += 1
j += 1
return arr3
arr1 = [3, 5, 6, 10]
arr2 = [1, 2, 7, 8, 11, 12]
assert merge(arr1, arr2) == [1, 2, 3, 5, 6, 7, 8, 10, 11, 12]
arr1 = [1, 3, 4, 5]
arr2 = [2, 4, 6, 8]
assert merge(arr1, arr2) == [1, 2, 3, 4, 4, 5, 6, 8]
arr1 = [5, 8, 9]
arr2 = [4, 7, 8]
assert merge(arr1, arr2) == [4, 5, 7, 8, 8, 9]
xxxxxxxxxx
def merge(num1, num2):
arr3 = num1+num2
arr3.sort()
return arr3
arr1 = [3, 5, 6, 10]
arr2 = [1, 2, 7, 8, 11, 12]
assert merge(arr1, arr2) == [1, 2, 3, 5, 6, 7, 8, 10, 11, 12]
arr1 = [1, 3, 4, 5]
arr2 = [2, 4, 6, 8]
assert merge(arr1, arr2) == [1, 2, 3, 4, 4, 5, 6, 8]
arr1 = [5, 8, 9]
arr2 = [4, 7, 8]
assert merge(arr1, arr2) == [4, 5, 7, 8, 8, 9]
xxxxxxxxxx
def merge(X, Y):
m = len(X)
n = len(Y)
# Consider each element `X[i]` of list `X[]` and ignore the element if it is
# already in the correct order; otherwise, swap it with the next smaller
# element, which happens to be the first element of `Y[]`.
for i in range(m):
# compare the current element of `X[]` with the first element of `Y[]`
if X[i] > Y[0]:
# swap `X[i] with `Y[0]`
temp = X[i]
X[i] = Y[0]
Y[0] = temp
first = Y[0]
# move `Y[0]` to its correct position to maintain the sorted
# order of `Y[]`. Note: `Y[1…n-1]` is already sorted
k = 1
while k < n and Y[k] < first:
Y[k - 1] = Y[k]
k = k + 1
Y[k - 1] = first
xxxxxxxxxx
public static int[] merge(int[] a, int[] b) {
int[] answer = new int[a.length + b.length];
int i = 0, j = 0, k = 0;
while (i < a.length && j < b.length)
{
if (a[i] < b[j])
{
answer[k] = a[i];
i++;
}
else
{
answer[k] = b[j];
j++;
}
k++;
}
while (i < a.length)
{
answer[k] = a[i];
i++;
k++;
}
while (j < b.length)
{
answer[k] = b[j];
j++;
k++;
}
return answer;
}
xxxxxxxxxx
def merge(num1, num2):
arr3 = num1+num2
arr3.sort()
return arr3
arr1 = [3, 5, 6, 10]
arr2 = [1, 2, 7, 8, 11, 12]
assert merge(arr1, arr2) == [1, 2, 3, 5, 6, 7, 8, 10, 11, 12]
arr1 = [1, 3, 4, 5]
arr2 = [2, 4, 6, 8]
assert merge(arr1, arr2) == [1, 2, 3, 4, 4, 5, 6, 8]
arr1 = [5, 8, 9]
arr2 = [4, 7, 8]
assert merge(arr1, arr2) == [4, 5, 7, 8, 8, 9]
xxxxxxxxxx
// Merge sorted arrays using javascript
let arrrone = [0,3,4,31];
let arrayTwo = [4,6,30,31,33];
let j = 0;
let k = 0;
let mergedArray = [];
let length = arrrone.length + arrayTwo.length;
console.log(length)
for(let i = 0; i<= length - 1; i++){
if(arrrone[j] < arrayTwo[k]){
mergedArray.push(arrrone[j]);
j++;
}
else if(arrrone[j] > arrayTwo[k]){
mergedArray.push(arrayTwo[k]);
k++;
}
else if(arrrone[j] == arrayTwo[k]){
mergedArray.push(arrrone[j]);
mergedArray.push(arrayTwo[k]);
j++;
k++;
}
}
console.log(mergedArray)
xxxxxxxxxx
def mergeArrays(arr1, arr2, n1, n2):
arr3 = [None] * (n1 + n2)
i = 0
j = 0
k = 0
while i < n1 and j < n2:
if arr1[i] < arr2[j]:
arr3[k] = arr1[i]
k = k + 1
i = i + 1
else:
arr3[k] = arr2[j]
k = k + 1
j = j + 1
while i < n1:
arr3[k] = arr1[i]
k = k + 1
i = i + 1
while j < n2:
arr3[k] = arr2[j]
k = k + 1
j = j + 1
xxxxxxxxxx
c++ program to merge two unsorted arrays and the output should be in the form of sorted manner