Слияние двух массивов отсортированных по убыванию - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д