7.4.3. Сортировка элементов матриц



Часто бывает нужно переставить элементы матрицы или вектора, расположив их в определенной строке или столбце в порядке возрастания или убывания. Для этого имеются несколько встроенных функций, которые позволяют гибко управлять сортировкой матриц:

  •  sort(v) — сортировка элементов вектора в порядке возрастания (листинг 7.26, верхняя строка);
  •  reverse (v) — перестановка элементов вектора в обратном порядке (листинг 7.26, нижняя строка);
  •  csort (A, i) — сортировка строк матрицы выстраиванием элементов 1-го столбца в порядке возрастания (листинг 7.27, верхняя строка);
  •  rsort (A, i) — сортировка столбцов матрицы выстраиванием элементов i-й строки в порядке возрастания (листинг 7.27, нижняя строка):

  •  v — вектор;
  •  А — матрица;
  •  i — индекс строки или столбца.


ПРИМЕЧАНИЕ

Если элементы матриц или векторов комплексные, то сортировка ведется по действительной части, а мнимая часть игнорируется.


Листинг 7.26. Сортировка вектора


Листинг 7.27. Сортировка матриц по строке и столбцу