Лексикографическое средство сравнения
если у нас есть строки «cat», «apple», «dog», «алгоритмы» после того, как они лексикографически сравниваются друг с другом, они располагаются в словарном порядке
вроде следующего
алгоритмы, яблоко, кошка, собака
Я написал следующий компаратор для сортировки этих строк в лексикографическом порядке.
inline bool leq(int a1, int a2, int b1, int b2)
{
return (a1 < b1 || a1 == b1 && a2 <= b2);
}
inline bool leq(int a1, int a2, int a3, int b1, int b2, int b3)
{
return(a1 < b1 || a1 == b1 && leq(a2, a3, b2, b3));
}
Теперь я пытаюсь ввести два дополнительных символа, не принадлежащих алфавиту, например
«%» и «&», так что при сортировке строк (набор алфавитов) «%» следует рассматривать как меньший, чем все алфавиты, а «&» следует рассматривать как больший, чем все алфавиты,
если у меня есть
«apple%» и «apple &», затем apple% следует считать меньшим, чем apple &
Может кто-нибудь подсказать мне, как написать это на с ++. спасибо