Можно ли отсортировать 2D-массив с помощью qsort или std :: sort в C++, чтобы элементы находились в возрастающем порядке, когда читаете слева направо в каждой строке или сверху вниз в каждом столбце?Сортировка 2D-массива C++
Например,
13, 14, 15, 16
1, 4, 3, 2
7, 5, 7, 6
9, 10, 11, 12
становится:
{ 1, 2, 3, 4 }
{ 5, 6, 7, 8 }
{ 9, 10, 11, 12 }
{ 13, 14, 15, 16 }
Я знаю, что вы можете сделать это путем создания двух функций сравнения, а затем первая сортировка каждой строки затем сравнивая первые элементы каждой строки, чтобы установить столбцы, но есть ли способ сделать это в одной функции?
Если это матрица NxN, а затем скопировать элементы вектора. Сортируйте вектор, а затем скопируйте каждую строку обратно в массив из вектора. – Mahesh
Разве это не сортирует строки? Как насчет столбцов? – 1110101001
Скопируйте его в вектор, отсортируйте его как массив 1D (который он сейчас), а затем скопируйте обратно в 2D-массив. –