Перевернуть строку 3Delphi , Синтаксис , Текст и СтрокиПеревернуть строку 3
Оформил: DeeCo function ReverseString1(const s: string): string; var i, len: Integer; begin len := Length(s); SetLength(Result, len); for i := len downto 1 do begin Result[len - i + 1] := s[i]; end; end; function ReverseString2(const Str: string): string; // by Ido Kanner var ch: Char; i, Size: Integer; begin Result := Str; Size := Length(Result); if (Size >= 2) then // 2 or more chars begin // For 1 to middle of the string for i := 1 to (Size div 2) do begin // Lets get the charecter of the current place in the string ch := Result[i]; // Place the Current pos of the char // with the char of it's mirror place... Result[i] := Result[Size - (i - 1)]; // In the mirror place we will put char of the // Original place... And we switched places !!! Result[Size - (i - 1)] := ch; end end; end; function ReverseString3(S: string): string; // by Rudy Velthuis var P, Q: PChar; C: Char; begin Result := S; if Length(Result) = 0 then Exit; P := PChar(Result); Q := P + Length(Result) - 1; while P < Q do begin C := P^; P^ := Q^; Q^ := C; Inc(P); Dec(Q); end; end; procedure ReverseString4(var S: string); // by Rudy Velthuis var P, Q: PChar; C: Char; begin if Length(S) = 0 then Exit; P := PChar(S); Q := P + Length(S) - 1; while P < Q do begin C := P^; P^ := Q^; Q^ := C; Inc(P); Dec(Q); end; end; Похоже, вы предоставили четыре различных функции Delphi для обратного порядка строки. Вот краткое описание каждой функции и ее реализации: Функция ReverseString1 Эта функция принимает строку в качестве входных данных, рассчитывает длину строки и затем iterates over строку в обратном порядке, чтобы построить отображенную строку.
Функция ReverseString2 Эта функция также принимает строку в качестве входных данных и iterates over строку в обратном порядке, чтобы построить отображенную строку. Однако, она только обрабатывает строки с двумя или более символами.
Функция ReverseString3 Эта функция принимает строку в качестве входных данных и использует указатели для обратного порядка строки в месте.
Процедура ReverseString4 Эта процедура похожа на функцию ReverseString3, но она модифицирует входную строку вместо возвращения новой отображенной строки. Обратите внимание, что эти функции имеют некоторые ограничения. Например, они могут не обрабатывать корректно строковые символы Unicode и могут не работать правильно с строками, содержащими null-символы. В реальном приложении вы бы, вероятно, хотели использовать более robust и гибкий метод для обратного порядка строк. Вот пример тестирования этих функций:
В процедуре Main вы можете тестировать каждую из этих функций, вызывая их с образцом входной строки. В статье приведены четыре функции на языке Delphi, которые реализуют алгоритм обратного порядка символов в строке. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |