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