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

📄 stack.pas

📁 《Kylix程序设计》一书中附带的例程源代码
💻 PAS
字号:
unit Stack;interfaceuses  SysUtils, Types, Classes;type  TStack = class( TObject )  protected    FCount: Integer;    FItems: array of Real;  public    constructor Create(); overload;    constructor Create( Size: Integer ); overload;    procedure Clear();    procedure Push( Item: Real );    function Pop( var Item: Real ): Boolean;    function Peek( var Item: Real ): Boolean;    function IsEmpty(): Boolean;    destructor Destroy();  end;implementation{ TStack }constructor TStack.Create;begin  FCount := 0;  SetLength( FItems, 0 );end;procedure TStack.Clear;begin  if Assigned( FItems ) then  begin    FCount := 0;    FItems := nil;  end;end;constructor TStack.Create(Size: Integer);begin  FCount := 0;  SetLength( FItems, Size );end;destructor TStack.Destroy;begin  if Assigned( FItems ) then  begin    FItems := nil;  end;end;function TStack.IsEmpty: Boolean;begin  Result := ( FCount = 0 );end;function TStack.Peek( var Item: Real ): Boolean;begin  if FCount > 0 then  begin    Item := FItems[ FCount - 1 ];    Result := true;  end  else  begin    Result := false;  end;end;function TStack.Pop( var Item: Real ): Boolean;begin  if FCount > 0 then  begin    Item := FItems[ FCount - 1 ];    FItems := Copy( FItems, 0, FCount - 1 );    Dec( FCount );    Result := true;  end  else  begin    Result := false;  end;end;procedure TStack.Push(Item: Real);begin  if Length( FItems ) <= FCount  then    SetLength( FItems, FCount + 1 );  FItems[ FCount ] := Item;  Inc( FCount );end;end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -