当前位置:主页>销售管理软件> 列表

这种循环错误如何检查?急!谁可以帮我看看? 找网络管理软件

销售管理软件版1楼: 表一:table1
id upid
B0001 X0001
B0002 X0002

表二:table2
id upid
X0001 B0002
X0002 B0001


表一中的upid是表二中的ID,表二中的upid是表一中的ID。
现在表一中的数据和表二中的数据是被循环设置成了对方的ID的,
成了死循环。
而这种情况不允许存在。

B0001-X0001-B0002-X0002-B0001

如何用递归的方式检查这种错误?
或者别的方法也可以。

2楼: 你学过数据结构没有呀 这个用图的知识就可以解决呀 判断它是不是回路, 如网络管理软件

3楼: 两个表都增加一个字段,专门标志改字段是否被读取过,
这样在读的时候检查一下该字段。

4楼: to: fyhxf
我就是不会做啊,能不能给出代码来啊?

5楼: 没有理解意思,你要做什么,想要得到什么结果

6楼: to liuguilg:
我要检查二个表中是否有上面列示的那种情况存在,就是二个表之间的编码与上级编码是否形成了循环,如果有,则报告循环的编码。
谢谢!

销售管理软件版7楼: type
table = record
id, uid: tstrings;
end;
table1 = table;
table2 = table;
end;
table1[0].id := ''b0001'';
table1[0].upid := ''x0001'';
...
// 一個一個檢查可以嗎?對於每個個ID最多是5步吧.
table2idx := table2.id.indexof(table1[0].upid);
table1idx := table1.id.indexof(table2[table2idx].upid);
...

8楼: 我自己写了个递归过程嵌套函数。
多谢了!

9楼: 多人接受答案了。