![]() |
![]() ![]() ![]() ![]() |
|
Перевернуть строку 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 прямо в свой смартфон. Подпишитесь на наш :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||