Слияния двух массивов в отсортированный по возрастанию массив - 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)));
        }
    }
}

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


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

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

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