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

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

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

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

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

textual
Листинг программы
  1. using System;
  2.  
  3. namespace MergeArrays
  4. {
  5.     public class MergeArrays
  6.     {
  7.         public static int[] Merge (int[] arrA, int[] arrB)
  8.         {
  9.             int posA = arrA.Length - 1, posB = arrB.Length - 1, posC = 0;
  10.             int[] arrC = new int[arrA.Length + arrB.Length];
  11.  
  12.             while (posA >= 0) {
  13.                 if (posB >= 0) {
  14.                     if (arrA [posA] < arrB [posB])
  15.                         arrC [posC++] = arrA [posA--];
  16.                     else if (arrB [posB] < arrA [posA])
  17.                         arrC [posC++] = arrB [posB--];
  18.                     else {
  19.                         arrC [posC++] = arrA [posA--];
  20.                         arrC [posC++] = arrB [posB--];
  21.                     }
  22.                 } else
  23.                     arrC [posC++] = arrA [posA--];
  24.             }
  25.             while (posB >= 0)
  26.                 arrC [posC++] = arrB [posB--];
  27.  
  28.             return arrC;
  29.         }
  30.  
  31.         public static void Main() {
  32.             int[] a = { 10, 8, 7, 6, 5, 2, 1 };
  33.             int[] b = { 9, 7, 6, 3, 1, 0 };
  34.             int[] c = Merge(a, b);
  35.  
  36.             foreach (int n in c)
  37.                 Console.Write(n + " ");
  38.  
  39.             Console.WriteLine();
  40.         }
  41.     }
  42. }

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


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

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

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы