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