sortu.pas
来自「《delphi深度编程及其项目开发》」· PAS 代码 · 共 53 行
PAS
53 行
unit SortU;
interface
uses
Classes;
type
TSortThread = class(TThread)
private
FSortArray: array of integer;
protected
procedure Execute; override;
procedure Sort;
public
constructor Create(CreateSuspended: Boolean;var SortArray: array of Integer);
published
end;
implementation
constructor TSortThread.Create(CreateSuspended: Boolean;var SortArray: array of Integer);
begin
FSortArray := @SortArray;
FreeOnTerminate := True;
inherited Create(CreateSuspended);
end;
{当线程开始时,Execute方法将被调用。}
procedure TSortThread.Execute;
begin
FreeOnTerminate := True;
Sort;
end;
{下面实现了冒泡法排序}
procedure TSortThread.Sort;
var
I, J, T: Integer;
begin
for I := High(FSortArray) downto Low(FSortArray) do
for J := Low(FSortArray) to High(FSortArray) - 1 do
if FSortArray[J] > FSortArray[J + 1] then
begin
T := FSortArray[J];
FSortArray[J] := FSortArray[J + 1];
FSortArray[J + 1] := T;
if Terminated then Exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?