Написать алгоритм, проходящий по массивам за 1 цикл - C#

Узнай цену своей работы

Формулировка задачи:

Имеются два массива данных А[а] и B[в] (а и в – количества элементов массива). Известно, что оба массива упорядочены по возрастанию. Необходимо написать алгоритм, проходящий по этим массивам за 1 цикл вида: Для Сч = 1 По а + в Цикл и выдающий значения обоих массивов в порядке возрастания т.е. как бы объединив оба массива и отсортировав их по возрастанию.

Решение задачи: «Написать алгоритм, проходящий по массивам за 1 цикл»

textual
Листинг программы
class Program
{
    public static void Main()
    {
        int[] a = { 3, 4, 8, 9, 17, 19, 21, 40, 50, 55 }, b = { 1, 8, 16, 21, 22, 30 };
 
        foreach (int i in Union(a, b))
            Console.WriteLine(i);
    }
 
    public static int[] Union(int[] a, int[] b)
    {
        if (a == null || b == null)
            throw new ArgumentNullException();
 
        int[] result = new int[a.Length + b.Length];
 
        for (int i = 0, j = 0, k = 0; ; k++)
            if (i < a.Length && j < b.Length)
                result[k] = a[i] < b[j] ? a[i++] : b[j++];
            else if (i < a.Length)
                result[k] = a[i++];
            else if (j < b.Length)
                result[k] = b[j++];
            else break;
 
        return result;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5
Похожие ответы