12.5.3. Алгоритмы удаления и подстановки

12.5.3. Алгоритмы удаления и подстановки

Рассмотрим последовательность из трех символов: {a,b,c}. Для нее существует шесть различных перестановок: abc, acb, bac, bca, cab и cba, лексикографически упорядоченных на основе оператора “меньше”. Таким образом, abc – это первая перестановка, потому что каждый элемент меньше последующего. Следующая перестановка – acb, поскольку в начале все еще находится a – наименьший элемент последовательности. Соответственно перестановки, начинающиеся с b, предшествуют тем, которые начинаются с с. Из bac и bca меньшей является bac, так как последовательность ac лексикографически меньше, чем ca. Если дана перестановка bca, то можно сказать, что предшествующей для нее будет bac, а последующей – cab. Для перестановки abc нет предшествующей, а для cba – последующей.

next_permutation(), prev_permutation()

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

4.11.3. Примеры удаления ipchains-правил

Из книги автора

4.11.3. Примеры удаления ipchains-правил Попробуем отменить доступ к FTP на примере удаления записей из цепочки input. Я специально выбрал в качестве образца FTP-сервис, потому что он требует две строки описания, и при совершении операции нужно быть очень внимательным. На вскидку


5.7.5 Арифметичеcкие подстановки (Arithmetic Expansion)

Из книги автора

5.7.5 Арифметичеcкие подстановки (Arithmetic Expansion) Арифметические подстановки позволяют вычислить значение арифметического выражения и подставить вместо него результат. Существует две формы задания арифметических подстановок:$[expression]$((expression)), где expression трактуется так, как


Программы для удаления Spyware и Adware

Из книги автора

Программы для удаления Spyware и Adware Незваный гость, как известно, хуже врага – пусть даже он и не пакостит особо, а просто торчит в вашем доме, оттягивая на себя внимание и без конца встревая в вашу жизнь. И хотя те «гости», нет, это не вирусы – хотя по злокозненности наши


8.2. Подстановки

Из книги автора

8.2. Подстановки Кроме подстановки обычных переменных (п.3.4.4) и раскрытия шаблонов имен файлов (п.3.4.5), оболочка bash умеет выполнять еще и такие подстановки:? Подстановка тильды:~ заменяется на имя домашнего каталога пользователя, запустившего сценарий;~+ заменяется на путь к


Проблема удаления объекта “Singleton”.

Из книги автора

Проблема удаления объекта “Singleton”. В приведенной выше реализации класса Singleton, есть метод создания объекта, но отсутствует метод его удаления. Это означает, что программист должен помнить в каком месте программы объект удаляется. Другая проблема, связанная с удалением


Урок 27. Три способа удаления эффекта красных глаз

Из книги автора

Урок 27. Три способа удаления эффекта красных глаз Думаю, многим известен эффект красных глаз, зачастую появляющийся на фотографиях. Несомненно, впечатление от кадра он портит, особенно если вы любите показывать свой виртуальный альбом знакомым. Я не буду вам объяснять,


R.16.3.3 Повторный просмотр и дальнейшие подстановки

Из книги автора

R.16.3.3 Повторный просмотр и дальнейшие подстановки После того, как в строке замены произошла подстановка всех параметров макровызова, получившаяся строка просматривается повторно для обнаружения дополнительных макроопределений. Если в процессе повторных просмотров


12.2. Шифр простой подстановки

Из книги автора

12.2. Шифр простой подстановки В шифре простой подстановки производится замена каждой буквы сообщения некоторым заранее определенным символом (обычно это также буква). В результате сообщение, имеющее видМ = т1т2 тЗт4…, где т1, тп2…. – последовательность букв, переходит в


Создание и использование полей подстановки

Из книги автора

Создание и использование полей подстановки В ряде случаев поле может включать лишь определенные значения, которые иногда содержатся в заранее заданном списке, а иногда – в самом поле, вместе с произвольно вводимыми данными. Бывают ситуации, когда ввод данных можно


18.5.8. Удаления, выполняемые с помощью редактора sed

Из книги автора

18.5.8. Удаления, выполняемые с помощью редактора sed В следующем примере для удаления всех пустых строк применяется потоковый редактор sed. Выходной поток данных направляется в новые файлы с расширением .HOLD. Затем команда mv возвращает файлам их исходные имена.$ pg


Компьютер зависает даже после удаления программы

Из книги автора

Компьютер зависает даже после удаления программы Компьютер начал зависать после установки какой– то программы, но после ее удаления он по-прежнему может зависнуть. Вполне вероятно, что не все компоненты программы были удалены. Тогда нужно использовать службу


Глава 3. Логарифмические подстановки

Из книги автора

Глава 3. Логарифмические подстановки В этой главе давайте отложим в сторону лирические и понятные всем отступления про обстановку в стране в то время. Мои рассуждения об этом субъективны, кто-то может соглашаться с ними, кто-то, наоборот, считать те времена образцом для