Объединить два упорядоченных целочисленных массива в один упорядоченный массив - C#
Формулировка задачи:
Даны два упорядоченных массива целых чисел М1 и М2. Объединить их в один упоря-доченный массив. Рассмот¬реть случаи, когда массивы М1 и М2 упорядочены одинаково и когда — по-разному.
Решение задачи: «Объединить два упорядоченных целочисленных массива в один упорядоченный массив»
textual
Листинг программы
private static void arrayMerge(string[] args) { int[] a = new int[] { 2, 5, 8, 9, 11, 36, 2567 }, b = new int[] { -468, -441, -66, -65, -12, -10, 6, 8, 10, 12, 36, 37, 10000 }.Reverse().ToArray(); int len1 = a.Length; int len2 = b.Length; int[] result = new int[len1 + len2]; int aPos = 0, aInc = 1; if (a[len1 - 1] < a[0]) { aPos = len1 - 1; aInc = -1; } int bPos = 0, bInc = 1; if (b[len1 - 1] < b[0]) { bPos = len2 - 1; bInc = -1; } for (int i = 0; i < len1 + len2; i++) { if (a[aPos] < b[bPos]) { result[i] = a[aPos]; aPos += aInc; if (aPos == -1 || aPos == len1) { while (++i < len1 + len2) { result[i] = b[bPos]; bPos += bInc; } break; } } else { result[i] = b[bPos]; bPos += bInc; if (bPos == -1 || bPos == len2) { while (++i < len1 + len2) { result[i] = a[aPos]; aPos += aInc; } break; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д