我手上有一本书,讲单向链表的!有一个我觉得有点问题,你看一下!这个是在链表的尾部插入一条数据!
PROCEDURE AppendItem(listhead:link;data:string);
VAR
 p,tem:link;
BEGIN
 P:=listhead;
 while (p^.next<>nil) do p:=p^next;
 new(tem)
 tem^.date:=date;
 tem^.next:=nil;
 p^.next:=tem;
END;
在单元的接口部分定义了单向链表
type
 link=^node;
 node=RECORD
 data:string;
 next:link;
End;调用上面的过程
procedure TForm1.Button1click(Sender:TObject);
var
 InputString:string;
begin
 InputString:=InputBox('添加对话框','字符串:',','');
if InputString<>'' then
begin
 AppendItem(head,InputString);
 DisplayList(head);
end;
end;我的问题是:wihle是个循环语句吧?为什么上面的我感觉象是判断语句呢?while(p^.next<>nil)的意思
是当p^.next不等于空时就继续循环是吧?那后面什么还要再跟上一个p:=p^.next?
 tem^.next:=nil;这个赋一个空值给它干什么?
 p^.next:=tem;这个又是干什么给指针地址赋值吗?这个语句和上面的语句有什么联系?为什么要把tem^.next后再p^.next:=tem!谢谢了!:)