Программа C для лексикографического сравнения двух строк

Опубликовано: 10 Января, 2023

Здесь мы создадим программу на C для лексикографического сравнения двух строк. Даны 2 строки s1 и s2 строчных букв английского алфавита, обозначим лексикографически большую строку. Лексикографический порядок - это порядок, в котором слова появляются в порядке словаря.

Вход:

s1 = "geeks", s2 = "geeksforgeeks

Выход:

String 2 is lexicographically greater than string 1.

Подход

Последовательность выполнения следующих шагов:

  1. Перебрать обе строки с помощью цикла for.
  2. Сравните каждый символ двух строк, пока не будет найден несопоставленный символ.
  3. Для несовпадающего символа в позиции i, если s1[i] < s2[i], s1 является лексикографически меньшей строкой.
  4. В противном случае s2 является лексикографически меньшей строкой.
  5. Если несоответствующий символ не найден, сравните длину обеих строк.
  6. Более длинная строка лексикографически меньше.

Пример:

Выход:

String 1 is lexicographically greater than string 2.
  • Временная сложность: O(N)
  • Сложность пространства: O(1)