Метод «пузырька». До середины - по возрастанию, после – по убыванию C#

Задания отсортировать одномерный массив методом "пузырька", используя функции, приэтом нельзя использовать стандартные функции обработки массивов . Язык С# Моя задумка такая: отсортировать изначально весь массив по возрастанию, а потом в отдельной функции отсортировать половину массива по убыванию. Видимо, у меня проблема с выводом этих функции, потому что функции работают только отдельно. В этом виде программа выводит массив отсортированный по возрастанию, если его закомментировать, то выводит массива,отсортированный по убыванию. Помогите пожалуйста разобраться.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _10._7
{
    class Program
    {    static int [] Massiv (int numbers_elements )  //Функция заполненния одномерного массива с клавиатуры 
        {
            int[] MyArray = new int[numbers_elements];
            for (int i = 0; i < numbers_elements; i++)
            {                
                Console.WriteLine("Введите элемент массива");
                MyArray[i] = Convert.ToInt32(Console.ReadLine());
                              
            }
            return MyArray;
        }

        private static int [] Swop(int [] massiv)  //Функция перестановки элементов массива по возрастанию 
        {    
            for (int i = 0; i < massiv.Length; i++) //Цикл будет считать число обходов. Кол-во обходов будет равно количеству элементов
            {
                for (int j = 0; j < massiv.Length - 1; j++) 
                {
                    if (massiv[j] > massiv[j + 1])  // Цикл попарно сравнивает элементы
                    {
                        int temp = massiv[j];
                        massiv[j] = massiv[j + 1];
                        massiv[j + 1] = temp;
                    }                         
                }               
            }
            for (int k = 0; k < massiv.Length; k++) //Цикл вывода элементов
            {
                Console.Write(massiv[k] + ", ");
            }
            return massiv;
        }

        private static int [] Swop_Reverse(int [] massiv_reverse) //Функция перестановки элементов массива по убыванию (начиная с середины)
        {
            for ( int i = massiv_reverse.Length / 2; i < massiv_reverse.Length; i++)
            {
                for (int j = massiv_reverse.Length / 2; j < massiv_reverse.Length - 1; j++)
                {
                    if (massiv_reverse[j] < massiv_reverse[j+1])    // Цикл попарно сравнивает элементы
                    {
                        int temp = massiv_reverse[j];
                        massiv_reverse[j] = massiv_reverse[j + 1];
                        massiv_reverse[j + 1] = temp;
                    }

                }
            }
            for (int k = 0; k < massiv_reverse.Length; k++) //Цикл вывода элементов
            {
                Console.Write(massiv_reverse[k] + ", ");
            }
            return massiv_reverse;
        }
          
        static void Main(string[] args)
        {
            Console.WriteLine("Введите кол-во элементов в массива");
            int n = Convert.ToInt32(Console.ReadLine());
            int[] Myarray = Massiv(n);
            

            //int[] array = Swop(Myarray);
            
            int [] array = Swop_Reverse(Myarray);
            Console.ReadKey();


        }

    }
}




  
  

Ответы (0 шт):