procedure TForm1.InsertItem(listhead: link; pos: integer; data: string);
//在单项链表的指定位置添加项.
var
p, tem: link;
n,j : integer;
begin
p:= listhead;
j:= 0;
TotalItem(listhead,n);
* if (pos <= n) then
* //寻找i-1 个结点.
* while(j < pos-1) do
* begin
* p:=P^.next;
* j:=j+1;
* end;
new(tem);
tem^.data:= data;
tem^.next := P^.next;
P^.next:= tem;
end
else ShowMessage('插入位置出现错误!');
end; 请问大家我画*号的地方是什么意思呀???有什么作用呀????
//在单项链表的指定位置添加项.
var
p, tem: link;
n,j : integer;
begin
p:= listhead;
j:= 0;
TotalItem(listhead,n);
* if (pos <= n) then
* //寻找i-1 个结点.
* while(j < pos-1) do
* begin
* p:=P^.next;
* j:=j+1;
* end;
new(tem);
tem^.data:= data;
tem^.next := P^.next;
P^.next:= tem;
end
else ShowMessage('插入位置出现错误!');
end; 请问大家我画*号的地方是什么意思呀???有什么作用呀????
解决方案 »
- 求 资料收藏大师 3.78注册码
- 各位大吓,小妹在这请教Delphi中的bold是什么呀?还有怎么用
- ClientDataSet中Delta如何访问?
- 80分求关于加密的一点建议
- 公共汽车“踩脚”之“经典回嘴
- 一个关于TreeView控件的问题!UP有分,分不够再给!
- 使用select对数据库查询,怎样给查询结果增加一个数据库的表里面没有的空字段?
- 我是新手,请问以下错误原因
- 小鱼儿弟弟,老叫你哥哥,哈哈,害羞了吧!来!我现在有开始研究什么Automation了!呵呵!
- 如何完全显示服务器端SQL SERVER中某个表中的全部字段?
- 请问如何在运行表单前,先提示是否要保存,然后再运行,还有....
- 经纬度与(公里)km怎么换算??
防止越界
下边的为找到插入点,然后后移!
//在单项链表的指定位置添加项.
var
p, tem: link;
n,j : integer;
begin
p:= listhead;//P指针指向链表的头结点
j:= 0;//初始化J为0
TotalItem(listhead,n);//得到链表的结点数
* if (pos <= n) then//如果插位置小于结点数,
* //寻找到i-1 个结点.
* while(j < pos-1) do//从第0个结点指针开始往后移,一直到要插入的位置
* begin
* p:=P^.next;//指针指向下一个结点
* j:=j+1;
* end;
new(tem);//分配内存空间
tem^.data:= data;//赋值给将要插入链表的结点
tem^.next := P^.next;//该结点指针指向你上面找到的位置的下一个
P^.next:= tem;//指定位置的结点指针又指向你新加入的结点.由此完成了结点的手稿
end
else ShowMessage('插入位置出现错误!');
end;不知你明白了没有.