Как объединить два отсортированных массива? - C#

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

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

int[] MyArr1 = new int[10];
            int[] MyArr2 = new int[10];
            for (int i = 0; i < length; i++)
            {
                
            }
            int c;
            for (int i = 0; i < MyArr1.Length - 1; i++) // i - номер прохода
            {
                for (int j = 0; j < MyArr1.Length - 1; j++) // внутренний цикл прохода
                {
                    if (MyArr1[j + 1] < MyArr1[j])
                    {
                        c = MyArr1[j + 1];
                        MyArr1[j + 1] = MyArr1[j];
                        MyArr1[j] = c;
                    }
                }
            }
            for (int i = 0; i < MyArr2.Length - 1; i++) // i - номер прохода
            {
                for (int j = 0; j < MyArr2.Length - 1; j++) // внутренний цикл прохода
                {
                    if (MyArr2[j + 1] < MyArr2[j])
                    {
                        c = MyArr2[j + 1];
                        MyArr2[j + 1] = MyArr2[j];
                        MyArr2[j] = c;
                    }
                }
            }
            for (int i = 0; i < MyArr1.Length; i++)
            {
                Console.Write(MyArr1[i]);
                Console.Write(" ");
            }
            for (int i = 0; i < MyArr2.Length; i++)
            {
                Console.Write(MyArr2[i]);
                Console.Write(" ");
            }
вот два отсортированных массива, нужно их объединить препод какой то злой и сказал что нужно по другому, а я сделал через MyArr2.CopyTo(MyArr1,[10]); как можно объединить по другому?

Решение задачи: «Как объединить два отсортированных массива?»

textual
Листинг программы
int i = 0, j = 0, k = 0, len = Math.Min(MyArr1.Length, MyArr2.Length);
int[] MyArr3 = new int[MyArr1.Length + MyArr2.Length];
while (k < len) 
   MyArr3[k++] = MyArr1[i] < MyArr2[j] ? MyArr1[i++] : MyArr2[j++];
while (i < MyArr1.Length) 
   MyArr3[k++] = MyArr1[i++];
while (j < MyArr2.Length) 
   MyArr3[k++] = MyArr2[j++];

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


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

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

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