How to merge elements of two sorted not equal arrays by maintaining the sorted order in TypeScript

2 Answers

0 votes
function merge_sorted_not_equal_arrays(array1: number[], array2: number[]) {
    let size1: number = array1.length;
    let size2: number = array2.length;
      
    for (let i: number = 0; i < size1; i++) {
        if (array1[i] > array2[0]) {
            // swap 
            let tmp: number = array1[i];
            array1[i] = array2[0];
            array2[0] = tmp;
                  
            let element0: number = array2[0];
            let k: number = 1
            for (; k < size2 && array2[k] < element0; k++) {
                array2[k - 1] = array2[k];
            }
            array2[k - 1] = element0;
        }
    }
}
  
const array1: number[] = [1, 4, 6, 8, 10];
const array2: number[] = [2, 3, 5, 9];
  
merge_sorted_not_equal_arrays(array1, array2);
  
console.log(array1);
console.log(array2);
  
  
  
  
/*
run:
   
[1, 2, 3, 4, 5]
[6, 8, 9, 10]
  
*/

 



answered Sep 16, 2023 by avibootz
0 votes
function merge_sorted_not_equal_arrays(array1: number[], array2: number[]) {
    let size1: number = array1.length;
    let size2: number = array2.length;
      
    for (let i: number = size2 - 1; i >= 0; i--) {
        let j: number, last1: number = array1[size1 - 1];
        for (j = size1 - 2; j >= 0 && array1[j] > array2[i]; j--) {
            array1[j + 1] = array1[j];
        }
        if (last1 > array2[i]) {
            array1[j + 1] = array2[i];
            array2[i] = last1;
        }
    }
}
  
const array1: number[] = [1, 4, 6, 8, 10];
const array2: number[] = [2, 3, 5, 9];
  
merge_sorted_not_equal_arrays(array1, array2);
  
console.log(array1);
console.log(array2);
  
  
  
  
/*
run:
   
[1, 2, 3, 4, 5]
[6, 8, 9, 10]
  
*/

 



answered Sep 16, 2023 by avibootz
...