链表节点之间的访问的问题
一个数据表格的一些记录被读到链表中,链表的节点定义如下:
//定义链表节点
type
PTFInfo=^TFInfo;
TFInfo=record
TFNo:string;
TFName:string;
TFDate:string;
TFTime:integer;
TFFQInfo:integer;
TFValue:string;
Jin:real;
Wei:real;
TFRadii:integer;
TFDirect:string;
Pnext:PTFInfo;
end;
那么如何在某个节点中访问其上一个节点的域的值呢?我还没未用过链表,也没有什么概念,现在要改别人写的代码。请大家详细指教。
一个数据表格的一些记录被读到链表中,链表的节点定义如下:
//定义链表节点
type
PTFInfo=^TFInfo;
TFInfo=record
TFNo:string;
TFName:string;
TFDate:string;
TFTime:integer;
TFFQInfo:integer;
TFValue:string;
Jin:real;
Wei:real;
TFRadii:integer;
TFDirect:string;
Pnext:PTFInfo;
end;
那么如何在某个节点中访问其上一个节点的域的值呢?我还没未用过链表,也没有什么概念,现在要改别人写的代码。请大家详细指教。
解决方案 »
- 常量的初级问题
- 动态自定义纸张大小的问题,请高手支持
- 哪里有透明的ScrollBox?
- ★★★响应大斑竹的号召,散分预祝大家圣诞和元旦快乐★★★
- 求助:有两个Form:Form1,Fom2。Form1是自动生成的,Form2由Form1在程序运行时Create。请问该怎么做?
- 怎么样拦截一般的出错信息,加上自己的出错信息呢?
- 急!!!寻求delphi反编译工具软件!!!
- 奇怪!我在D6中用dxBar4.2做了一个窗体模板,用其继承一个新窗体后运行dxBar中的按钮都没了!
- 什么是DLL请详细回答:)
- 对一个不知道类型的图片文件该如何显示?
- 如何解决占用率过高的问题?
- 请问ToolBar能够占据窗体最上方而不会被其他控件占据的原理是什么?
PTFInfo=^TFInfo;
TFInfo=record
TFNo:string;
TFName:string;
TFDate:string;
TFTime:integer;
TFFQInfo:integer;
TFValue:string;
Jin:real;
Wei:real;
TFRadii:integer;
TFDirect:string;
Pnext:PTFInfo; //保存下一个节点
PPrior: PTFInfo; //保存上一个节点
end;
//Head为链表头结点,CurNode为当前某一个结点;返回值为CurNode的上一个结点.
function GetPriorNode(Head, CurNode: PTFInfo): PTFInfo;
var P,P1, PriorNode: PTFInfo;
begin
Result := nil;
P := Head;
PriorNode := nil;
while Assigned(P) do
begin
if (P = CurNode) then
begin
Result := PriorNode;
break;
end;
PriorNode := P;
P := P.Pnext;
end;
end;
function GetPriorNode(Head, CurNode: PTFInfo): PTFInfo;
var P,P1, PriorNode: PTFInfo;
begin
Result := nil;
P := Head;
PriorNode := nil;
while Assigned(P) do
begin
if (P = CurNode) then
begin
Result := PriorNode;
break;
end;
PriorNode := P;
P := P.Pnext;
end;
if P<>nil then result := PriorNode ;//查找成功
else result := nil;//查找失败
end;