Сортировка двухмерного массива методом вставки - C#

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

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

Здравствуйте, мне дали задание сортировать двухмерный массив методом вставки, я нашел алгоритм, и попытался преобразовать для двухмерного. Вот код:
class ArraySort
    {
        public int[,] ArraySortByPaste(int[,] inputArray)
        {
            for (int i = 1; i < 4; i++)
            {
                int current_element = inputArray[i, 0];
                int previously_counter = i--;
                while (previously_counter >= 0 && inputArray[previously_counter, 0] > current_element)
                {
                    inputArray[previously_counter++, 0] = inputArray[previously_counter, 0];
                    previously_counter --;
                }
                inputArray[previously_counter++, 0] = current_element;
            }
            for (int i = 1; i < 6; i++)
            {
                int current_element = inputArray[0, i];
                int previously_counter = i--;
                while (previously_counter >= 0 && inputArray[0, previously_counter] > current_element)
                {
                    inputArray[0, previously_counter++] = inputArray[0, previously_counter++];
                    previously_counter--;
                }
                inputArray[0,previously_counter++] = current_element;
            }
            Console.Write("Показать массив: \n1. Да \n2. Нет ");
            int choose = int.Parse(Console.ReadLine());
            if (choose == 1)
            {
                ChangeInArray changeInArray = new ChangeInArray();
                changeInArray.ShowArray(inputArray);
            }
            return inputArray;
        }
    }
Помогите, в чем ошибка?

Решение задачи: «Сортировка двухмерного массива методом вставки»

textual
Листинг программы
public static void insertionSort(int[] arr) {
    for(int i = 1; i < arr.GetLength(0); i++){
        int currElem = arr[i];
        int prevKey = i - 1;
        while(prevKey >= 0 && arr[prevKey] > currElem){
            arr[prevKey+1] = arr[prevKey];
            prevKey--; 
        }
        arr[prevKey+1] = currElem;
    }
}

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


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

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

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