В этом подробном руководстве мы продемонстрируем функцию «lexicographical_compare()» на C++ с программой.
Что такое функция «lexicographical_compare()» в C++
В C++ функция «lexicograpfical_compare()» — очень эффективная операция для сравнения и сортировки элементов в последовательности (лексикографический порядок). Он предоставляет возможность определить соответствующий порядок, который является результатом сравнения последовательностей, таких как диапазоны и строки. Эта функция доступна в C++ с помощью « <алгоритм> заголовочный файл.
Синтаксис
Вот синтаксис функции «lexicographical_compare()» в C++:
шаблон < сорт InputIter1, сорт InputIter2 >
логический лексикографический_сравните ( InputIter1 первый1, InputIter1 последний1, InputIter2 первый2, InputIter2 последний2 ) ;
Согласно приведенному выше кодексу, « лексикографический_сравнить() ” принимает две пары диапазонов: “ первый1 ' и ' последний1 » входные итераторы для первого диапазона и « первый2 ' и ' последний2 ” итераторы ввода для диапазона секунд. Он соответствует обоим элементам диапазона в лексикографическом порядке.
Тип возврата: Он возвращает логическое значение (true или false). Он вернет true, если первый диапазон лексикографически меньше, чем второй диапазон, в противном случае вернет false.
Исключения: Если во время сравнения будет обнаружена ошибка, будет выдано исключение.
Как сортировать векторы с помощью функции lexicographical_compare() C++
Функция «lexicographical_compare()» часто используется в методах сортировки для определения порядка элементов. Он соответствует соответствующему порядку элементов, пока диапазон не будет закончен.
Пример функции lexicograpical_compare() для сортировки и сравнения векторов строк
Давайте посмотрим на предоставленный пример, который демонстрирует « Сортировать() ” метод с “ лексикографический_сравнить() ”:
#include <иопоток>#include <вектор>
#include <алгоритм>
с использованием пространство имен станд. ;
Здесь:
- “
” используется для операций ввода и вывода.
“ <вектор> ” — это контейнерный класс стандартной библиотеки C++, который используется для хранения шаблонов, предлагающих возможности динамического массива.
- “ <алгоритм> » используется для доступа к методу «sort()» для функции «lexicographical_compare()».
- “ используя пространство имен std ” упоминается как директива, которая использует все имена из пространства имен без явного упоминания префикса “std”.
Далее внутри « основной() ”, мы инициализировали два вектора “ вектор1 ' и ' вектор2 ” с той же строкой. После этого использовал « Сортировать() ” для сортировки элементов в лексикографическом порядке обоих векторов с помощью “ vect1.begin() ' и ' вектор1.конец() диапазон итераторов для «vect1» и « вектор2.начать() ' и ' вектор2.конец() 'диапазон для 'vect2'. Затем вызвал « лексикографический_сравнить() », которая принимает четыре аргумента для обоих векторов.
Результаты будут сохранены с помощью « логический » введите « результат » и возвращает true, если диапазон «vect1» лексикографически меньше, чем диапазон «vect2», и false в противном случае. Наконец, примените « если ” для отображения результатов. Если “ результат » верно, это означает, что «vect1» лексикографически « > ', чем 'vect2'. В противном случае будет выполнено условие else:
инт основной ( ) {вектор < нить > вектор1 '=' { 'Весна' , 'Лето' , 'Осень' , 'Зима' } ;
вектор < нить > вектор2 '=' { 'Весна' , 'Лето' } ;
Сортировать ( вектор1. начинать ( ) , вектор1. конец ( ) ) ;
Сортировать ( вектор2. начинать ( ) , вектор2. конец ( ) ) ;
// сравниваем оба вектора с помощью lexicographical_compare()
логический результат '=' лексикографический_сравните (
вектор1. начинать ( ) , вектор1. конец ( ) ,
вектор2. начинать ( ) , вектор2. конец ( )
) ;
если ( результат ) {
cout << 'vect1 лексикографически больше, чем vect2' << конец ;
} еще если ( лексикографический_сравните (
вектор2. начинать ( ) , вектор2. конец ( ) ,
вектор1. начинать ( ) , вектор1. конец ( )
) ) {
cout << 'vect1 лексикографически меньше, чем vect2' << конец ;
} еще {
cout << 'вектор1 лексикографически равен вектору2' << конец ;
}
возвращаться 0 ;
}
Выход
Вот и все! Вы узнали о « лексикографический_сравнить() ” в C++.
Заключение
В C++ функция «lexicographical_compare()» используется для сортировки и сопоставления последовательности элементов в лексическом порядке. Алгоритм сортировки с методом «lexicograpgical_compare()» широко применяется для нахождения относительного порядка. В этом уроке мы продемонстрировали функцию «lexicographical_compare()» в C++.