链表测试

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   


PMyList
= ^TMyList;
TMyList
= record
Text:
string ;
Previous: PMyList;
Next: PMyList;
end ;

var
FHead: PMyList;
FLast: PMyList;
CurrIndex: Integer;
FList: TList;

procedure TForm1.btn_1Click(Sender: TObject);
begin
// 创建链表头
GetMem(FHead, SizeOf(TMyList));
FHead.Text :
= Edit1.Text;
FHead.Previous :
= nil ;
FHead.Next :
= nil ;
FLast :
= FHead;
end ;

procedure TForm1.btn_2Click(Sender: TObject);
var
vCur: PMyList;
begin
// 添加新元素
GetMem(vCur, SizeOf(TMyList));
vCur.Text :
= Edit1.Text;
FLast.Next :
= vCur;
vCur.Previous :
= FLast;
vCur.Next :
= nil ;
FLast :
= vCur;
end ;

procedure TForm1.btn_3Click(Sender: TObject);
var
vCur: PMyList;
begin
// 显示所有元素
mmo1.Clear;
vCur :
= FHead;
while vCur <> nil do
begin
mmo1.Lines.Add(vCur.Text);
vCur :
= vCur.Next;
end ;
end ;

procedure TForm1.btn_4Click(Sender: TObject);
var
vCur: PMyList;
begin
mmo1.Clear;
vCur :
= FLast;
// 反显所有元素
while vCur <> nil do
begin
mmo1.Lines.Add(vCur.Text);
vCur :
= vCur.Previous;
end ;
end ;

procedure TForm1.btn_5Click(Sender: TObject);
var
vCur, p: PMyList;
begin
// 销毁链表
p :
= FHead;
while p <> nil do
begin
vCur :
= p;
p :
= vCur.Next;
FreeAndNil(vCur);
end ;
end ;

 

转载于:https://www.cnblogs.com/dyz/archive/2010/03/09/1681747.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值