No.1type
TListNode = ^TListData;
TListData = record
rNo: Integer; //存放原序号
rData: string[10]; //存放名字
rVou: Integer; //存放链表值
rNext: TListNode; //下一个节点
end;procedure TForm1.Button1Click(Sender: TObject);
var
vHeadNode: TListNode;
vTempNode: TListNode;
vNewNode: TListNode;
I: Integer;
begin
vHeadNode := nil;
for I := 0 to Memo1.Lines.Count - 1 do begin
New(vNewNode);
vNewNode^.rNo := I;
vNewNode^.rData := Memo1.Lines[I];
vNewNode^.rNext := nil;
if vHeadNode <> nil then begin
vTempNode := vHeadNode;
while (vTempNode^.rNext <> nil) and
(vTempNode^.rNext^.rData < vNewNode^.rData) do
vTempNode := vTempNode^.rNext;
if (vTempNode = vHeadNode) and
(vHeadNode^.rData > vNewNode^.rData) then begin
vNewNode^.rNext := vHeadNode;
vHeadNode := vNewNode;
end else begin
vNewNode^.rNext := vTempNode.rNext;
vTempNode^.rNext := vNewNode;
end;
end else vHeadNode := vNewNode;
end;
vTempNode := vHeadNode;
while vTempNode <> nil do begin
Memo2.Lines.Add(Format('%s', [vTempNode^.rData]));
vNewNode := vTempNode;
vTempNode := vTempNode^.rNext;
Dispose(vNewNode);
end;
end;
TListNode = ^TListData;
TListData = record
rNo: Integer; //存放原序号
rData: string[10]; //存放名字
rVou: Integer; //存放链表值
rNext: TListNode; //下一个节点
end;procedure TForm1.Button1Click(Sender: TObject);
var
vHeadNode: TListNode;
vTempNode: TListNode;
vNewNode: TListNode;
I: Integer;
begin
vHeadNode := nil;
for I := 0 to Memo1.Lines.Count - 1 do begin
New(vNewNode);
vNewNode^.rNo := I;
vNewNode^.rData := Memo1.Lines[I];
vNewNode^.rNext := nil;
if vHeadNode <> nil then begin
vTempNode := vHeadNode;
while (vTempNode^.rNext <> nil) and
(vTempNode^.rNext^.rData < vNewNode^.rData) do
vTempNode := vTempNode^.rNext;
if (vTempNode = vHeadNode) and
(vHeadNode^.rData > vNewNode^.rData) then begin
vNewNode^.rNext := vHeadNode;
vHeadNode := vNewNode;
end else begin
vNewNode^.rNext := vTempNode.rNext;
vTempNode^.rNext := vNewNode;
end;
end else vHeadNode := vNewNode;
end;
vTempNode := vHeadNode;
while vTempNode <> nil do begin
Memo2.Lines.Add(Format('%s', [vTempNode^.rData]));
vNewNode := vTempNode;
vTempNode := vTempNode^.rNext;
Dispose(vNewNode);
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货