⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortu.pas

📁 《Delphi 7经典问题解析》源代码 第一到七章 基础篇源程序 应用篇源程序
💻 PAS
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -