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