算法(100分)

  • 主题发起人 主题发起人 C.g.Lee
  • 开始时间 开始时间
C.g.Lee兄:
只好Email 给你了.
 
Thanks to All of You!
动态二维数组,我不会定义!
 
C.g.Lee兄:

动态数组和Search定义(在private中声明);
private
a:array of array of integer;
procedure search(s:integer);

From Sea713
 
谢谢各位的帮助
 
可以用队列的方法:
procedure algrathm(PId: String);
var
IDArray: Array[1..100] of String;//用来存放结果的数组
P,Q : Integer;//P指向当前的指针(尾指针),Q为头指针
Qry : TQuery;
ID : String;
begin
P := 1;
Q := 2;
IDArray[1] := PId;
Qry.Create(Self);
Qry.DatabaseName := Basename;//数据库名
While P <> Q do
With Qry do begin
ID := IDArray[P];
Active := FALSE;
Sql.Clear;
Sql.Add('select IDItem from theTable where IDItem = '+ID);
Active := TURE;
first;
While not EOF do begin
IDArray[Q] := FieldByName('IDItem').asString;
Inc(Q);
next;
end;
Inc(P);
end;

end.

在深度优先搜索是才要递归,这里用的是广度有先搜索。结果集在IDArray中。
 
谢谢各位!
 
后退
顶部