Слияния двух массивов в отсортированный по возрастанию массив - C#
Формулировка задачи:
Даны 2 массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из N элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по возрастанию массив С.
Решение задачи: «Слияния двух массивов в отсортированный по возрастанию массив»
textual
Листинг программы
using System;
namespace Console1
{
class Program
{
static int[] Merge(int[] a, int[] b)
{
int[] result = new int[a.Length + b.Length];
int i = 0;
int j = b.Length - 1;
int idx = 0;
while (i < a.Length && j >= 0)
result[idx++] = a[i] <= b[j] ? a[i++] : b[j--];
while (i < a.Length)
result[idx++] = a[i++];
while (j >= 0)
result[idx++] = b[j--];
return result;
}
static void Main()
{
int[] a1 = { 1, 3, 5, 7, 9, 11, 13 };
int[] a2 = { 8, 6, 4, 2, 0 };
Console.WriteLine(String.Join(" ", Merge(a1, a2)));
}
}
}