二十四、详测 Generics Collections TStack(1): Push、Pop、Peek - 其他功能同 TQueue
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Stack: TStack<string>;
s, str: string;
begin
Stack := TStack<string>.Create;
//压栈
Stack.Push('aaa');
Stack.Push('bbb');
Stack.Push('ccc');
str := '';
for s in Stack do str := str + s + ' ';
ShowMessage(str); // aaa bbb ccc
//出栈,后进的先出
Stack.Pop;
str := '';
for s in Stack do str := str + s + ' ';
ShowMessage(str); // aaa bbb
//下一个要出栈的
ShowMessage(Stack.Peek); //bbb
Stack.Free;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
Generics.Collections;
procedure TForm1.Button1Click(Sender: TObject);
var
Stack: TStack<string>;
s, str: string;
begin
Stack := TStack<string>.Create;
//压栈
Stack.Push('aaa');
Stack.Push('bbb');
Stack.Push('ccc');
str := '';
for s in Stack do str := str + s + ' ';
ShowMessage(str); // aaa bbb ccc
//出栈,后进的先出
Stack.Pop;
str := '';
for s in Stack do str := str + s + ' ';
ShowMessage(str); // aaa bbb
//下一个要出栈的
ShowMessage(Stack.Peek); //bbb
Stack.Free;
end;
end.