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