with query1 do
begin
disablecontrols;
try
while not eof do
begin
while ds[i].str<>query1.fields[1].AsString do
i:=(i+1) mod m ;
r:=ds[i].next;
if r=nil
then begin
//new(ds[i].next);
new(q);
ds[i].next:=q;
q^.ch:=strtoint(query1.fields[2].asstring)-1;
q^.next:=nil;
ds[i].kcount:=ds[i].kcount+1
end
else if q^.ch<>strtoint(query1.fields[2].asstring)-1
then begin
ds[i].kcount:=ds[i].kcount+1;
new(p);
p^.ch:=strtoint(query1.fields[2].asstring)-1;
p^.next:=nil;
q^.next:=p;
q:=p ;
p:=nil
end ;
progressbar1.position:=progressbar1.position+1 ;
query1.next
end;
finally
enablecontrols;
end;
当我在后面要利用到ds[i].next链表,发现链表长度变化了,变短了!比如,我在单步执行时,发现ds[0].kcount=14,也就是该对应的ds[0].next的链表长度为14,可是后面用指针查找ds[0].next这个链表时发现只有3个结点的长度!那位高手要是能在今晚帮我解决的话,立马给满分!!!!
很着急的!!!
begin
disablecontrols;
try
while not eof do
begin
while ds[i].str<>query1.fields[1].AsString do
i:=(i+1) mod m ;
r:=ds[i].next;
if r=nil
then begin
//new(ds[i].next);
new(q);
ds[i].next:=q;
q^.ch:=strtoint(query1.fields[2].asstring)-1;
q^.next:=nil;
ds[i].kcount:=ds[i].kcount+1
end
else if q^.ch<>strtoint(query1.fields[2].asstring)-1
then begin
ds[i].kcount:=ds[i].kcount+1;
new(p);
p^.ch:=strtoint(query1.fields[2].asstring)-1;
p^.next:=nil;
q^.next:=p;
q:=p ;
p:=nil
end ;
progressbar1.position:=progressbar1.position+1 ;
query1.next
end;
finally
enablecontrols;
end;
当我在后面要利用到ds[i].next链表,发现链表长度变化了,变短了!比如,我在单步执行时,发现ds[0].kcount=14,也就是该对应的ds[0].next的链表长度为14,可是后面用指针查找ds[0].next这个链表时发现只有3个结点的长度!那位高手要是能在今晚帮我解决的话,立马给满分!!!!
很着急的!!!
解决方案 »
- DLL注册后可以实时改变文件图标的原理
- 一个奇怪的现象 GetVolumeInformation函数在SERVER ACTIVEX
- 文本文件如何导入到数据库?
- sql语句的问题
- 可不可以建立一个带密码的数据库啊?
- 怎样注册使用TPopupMenu的菜单编辑器?
- 简单问题:a:=(c=d)什么意思?
- 入门:为何我把toolbar的showCaptions设为true后,就不能调整toolbutton的大小了?
- 让Combobox组件中列出数据库中一个表中的某一列字段值,且此字段值不能重复
- indy 做的 ftp服务器 被动模式 有网络防火墙下端口开放问题
- delphi 一个问题
- 如何判断按钮已经被点击过?急!!!
链表的长度是给出头指针然后计算后面的长度啊
怎么回事?指针这么难控制?