На этом шаге мы перечислим алгоритмы перестановки.
Перестановочными алгоритмами называются алгоритмы, изменяющие порядок следования элементов (но не их значения) посредством присваивания и перестановки их значений. В таблице 1 перечислены перестановочные алгоритмы стандартной библиотеки C++. Как и в случае с модифицирующими алгоритмами, их приемником не может быть ассоциативный контейнер, поскольку элементы ассоциативного контейнера считаются константными.
Название | Описание |
---|---|
reverse() | Переставляет элементы в обратном порядке |
reverse_copy() | Копирует элементы, переставленные в обратном порядке |
rotate() | Производит циклический сдвиг элементов |
rotate_copy() | Копирует элементы с циклическим сдвигом |
next_permutation() | Переставляет элементы |
prev_permutation() | Переставляет элементы |
random_shuffle() | Переставляет элементы в случайном порядке |
partition() | Изменяет порядок следования элементов так, что элементы, соответствующие критерию, оказываются спереди |
stable_partition() | To же, что и partition(), но с сохранением относительного расположения элементов, соответствующих и не соответствующих критерию |
На следующем шаге мы рассмотрим алгоритмы сортировки.