Сортировка двухмерного массива методом вставки - 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;
}
}