Сортировка двумерного массива - C# (179319)
Формулировка задачи:
Как отсортировать массив например по 4 столбцу?
Решение задачи: «Сортировка двумерного массива»
textual
Листинг программы
int[,] arr; // Массив для сортировки int columnIdx = 4; // Колонка по которой сортируем // Переносим данные колонки, по которой нужно выполнить сортировку, в отдельный массив int[] columnValues = new int[arr.GetLength(0)]; int[] valuesIndexes = new int[arr.GetLength(0)]; for (int i=0; i<arr.GetLength(0); i++) { columnValues[i] = arr[i,columnIdx]; valuesIndexes[i] = i; } // Сортируем массив чтобы получить индексы для перестановки Array.Sort(columnValues, valuesIndexes); // Переставляем элементы в соответствии с valuesIndexes for (int idx1=0; idx1<valuesIndexes.Length; idx1++) { int idx2 = valuesIndexes[idx1]; if (idx1 == idx2) continue; for (int j=0; j<arr.GetLength(1); j++) { int temp = arr[idx1, j]; arr[idx1,j] = arr[idx2,j]; arr[idx2,j] = temp; } int tempIdx = valuesIndexes[idx1]; valuesIndexes[idx1] = idx1; valuesIndexes[tempIdx] = tempIdx; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д