Слияние двух массивов отсортированных по убыванию - C#

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

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

Нужно написать прогу: Даны два массива. Массив А состоит из N элементов , массив В состоит из М элементов. Оба массива отсортированы по убыванию. Разработать программу для слияния этих массивов в отсортированный по неубыванию массив С. Заранее спасибо

Решение задачи: «Слияние двух массивов отсортированных по убыванию»

textual
Листинг программы
using System;
 
namespace MergeArrays
{
    public class MergeArrays
    {
        public static int[] Merge (int[] arrA, int[] arrB)
        {
            int posA = arrA.Length - 1, posB = arrB.Length - 1, posC = 0;
            int[] arrC = new int[arrA.Length + arrB.Length];
 
            while (posA >= 0) {
                if (posB >= 0) {
                    if (arrA [posA] < arrB [posB])
                        arrC [posC++] = arrA [posA--];
                    else if (arrB [posB] < arrA [posA])
                        arrC [posC++] = arrB [posB--];
                    else {
                        arrC [posC++] = arrA [posA--];
                        arrC [posC++] = arrB [posB--];
                    }
                } else 
                    arrC [posC++] = arrA [posA--];
            }
            while (posB >= 0)
                arrC [posC++] = arrB [posB--];
 
            return arrC;
        }
 
        public static void Main() {
            int[] a = { 10, 8, 7, 6, 5, 2, 1 };
            int[] b = { 9, 7, 6, 3, 1, 0 };
            int[] c = Merge(a, b);
 
            foreach (int n in c)
                Console.Write(n + " ");
 
            Console.WriteLine();
        }
    }
}

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


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

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

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