Изменение строки на противоположное означает изменение ее порядка так, чтобы последний символ стал первым, предпоследний символ стал вторым и так далее. Цикл while — это оператор потока управления, используемый в программировании на R для многократного выполнения блока кода, пока заданное условие истинно. Используя цикл while, мы можем легко перевернуть заданную строку на различных языках программирования.
Пример:
input string : geeks
reversed string : skeeg
Понятия, связанные с этой темой:
- Строки: последовательность символов в программировании, которой можно манипулировать и обрабатывать.
- Цикл while:структура управления, которая неоднократно выполняет блок кода, пока заданное условие истинно.
- Индексирование:возможность доступа к отдельным символам строки, используя их позицию или индекс.
Необходимые шаги:
- Инициализируйте две переменные: одну для исходной строки и одну для перевернутой строки.
- Запустите цикл while с условием, что длина исходной строки больше 0.
- Внутри цикла извлеките последний символ исходной строки и добавьте его к перевернутой строке.
- Удалить последний символ из исходной строки.
- Повторяйте шаги 3 и 4, пока не будут обработаны все символы.
- Распечатайте или верните перевернутую строку.
Содержание
Пример 1. Переверните строку с помощью цикла while.
R
reverseStr <-
function
(str) {
reversedStr <-
""
while
(
nchar
(str) > 0) {
reversedStr <-
paste0
(reversedStr,
substr
(str,
nchar
(str),
nchar
(str)))
str <-
substr
(str, 1,
nchar
(str) - 1)
}
return
(reversedStr)
}
# Example usage
str <-
"Hello, R!"
reversedStr <-
reverseStr
(str)
(reversedStr)
Выход:
[1] "!R ,olleH"
- Входные данные: функция reverseStrпринимает один аргумент str, который представляет входную строку, которую вы хотите инвертировать.
- Инициализация переменной:внутри функции вы инициализируете пустую строку reversedStrдля хранения перевернутой версии входной строки.
- Цикл while:цикл whileвыполняется до тех пор, пока длина входной строки ( str) больше 0.
- Реверс строки:Внутри цикла:
- substr(str, nchar(str), nchar(str)): Извлекает последний символ текущего str.
- paste0(reversedStr,…): объединяет последний символ с reversedStr, фактически переворачивая строку.
- str <- substr(str, 1, nchar(str) — 1): Удаляет последний символ из файла str.
- Продолжение цикла:цикл продолжает извлекать символы из конца входной строки и создавать перевернутую строку до тех пор, пока входная строка не станет пустой.
- Возврат:после завершения цикла функция возвращает значение reversedStr.
Пример 2. Переверните строку, используя цикл повторения.
R
reverseStr <-
function
(str) {
reversedStr <-
""
repeat
{
if
(
nchar
(str) == 0)
break
reversedStr <-
paste0
(reversedStr,
substr
(str,
nchar
(str),
nchar
(str)))
str <-
substr
(str, 1,
nchar
(str) - 1)
}
return
(reversedStr)
}
# Example usage
str <-
"R is awesome!"
reversedStr <-
reverseStr
(str)
(reversedStr)
Выход:
[1] "!emosewa si R"
reverseStr <- function(str).
- Эта строка определяет названную функцию reverseStr, которая принимает один параметр, strкоторый представляет входную строку.
reversedStr <- «„: - Инициализирует пустую строку с именем reversedStr. Эта переменная будет использоваться для хранения перевернутой строки.
repeat {… }: - Это инициирует repeatцикл, который представляет собой тип цикла, который продолжает выполняться до тех пор, пока breakне встретится оператор.
if (nchar(str) == 0) break: - Это проверяет, равна ли длина строки strнулю. Если это так, цикл прерывается, потому что нечего поворачивать.
reversedStr <- paste0(reversedStr, substr(str, nchar(str), nchar(str))): - Эта строка берет последний символ оригинала strи добавляет его к reversedStr.
- Функция paste0()используется для объединения строк без добавления пробелов или разделителей между ними.
- substr(str, nchar(str), nchar(str))извлекает последний символ строки.
- str <- substr(str, 1, nchar(str) — 1):
- Эта строка изменяет оригинал str, удаляя его последний символ.
- Он использует substr()функцию для извлечения символов от позиции 1 до nchar(str) — 1.
Пример 3. Переверните строку, используя цикл while с указателями.
R
reverseStr <-
function
(str) {
reversedStr <-
""
ptr <-
nchar
(str)
while
(ptr > 0) {
reversedStr <-
paste0
(reversedStr,
substr
(str, ptr, ptr))
ptr <- ptr - 1
}
return
(reversedStr)
}
# Example usage
str <-
"Loop in R!"
reversedStr <-
reverseStr
(str)
(reversedStr)
Выход:
[1] "!R ni pooL"
- reverseStr <- function(str).
- Эта строка определяет названную функцию reverseStr, которая принимает один параметр, strкоторый представляет входную строку.
reversedStr <- «»: - Инициализирует пустую строку с именем reversedStr. Эта переменная будет использоваться для хранения перевернутой строки.
repeat {… }: - Это инициирует repeatцикл, который представляет собой тип цикла, который продолжает выполняться до тех пор, пока breakне встретится оператор.
if (nchar(str) == 0) break: - Это проверяет, равна ли длина строки strнулю. Если это так, цикл прерывается, потому что нечего поворачивать.