您的位置:程序门 -> vb -> 基础类



大家看看我这段程序那出错了,溢出堆栈空间。


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


大家看看我这段程序那出错了,溢出堆栈空间。[已结贴,结贴人:fyj0249]
发表于:2007-01-04 10:43:39 楼主
dim   visited(1   to   6)   as   boolean
dim   u,   v   as   integer
dim   i   as   integer,   k   as   integer
g(1,   1)   =   0:     g(1,   2)   =   1:     g(1,   3)   =   1:     g(1,   4)   =   0:     g(1,   5)   =   0:     g(1,   6)   =   0:
g(2,   1)   =   1:     g(2,   2)   =   0:     g(2,   3)   =   0:     g(2,   4)   =   1:     g(2,   5)   =   1:     g(2,   6)   =   0:
g(3,   1)   =   1:     g(3,   2)   =   0:     g(3,   3)   =   0:     g(3,   4)   =   0:     g(3,   5)   =   0:     g(3,   6)   =   1:
g(4,   1)   =   0:     g(4,   2)   =   1:     g(4,   3)   =   0:     g(4,   4)   =   0:     g(4,   5)   =   0:     g(4,   6)   =   0:
g(5,   1)   =   0:     g(5,   2)   =   1:     g(5,   3)   =   0:     g(5,   4)   =   0:     g(5,   5)   =   0:     g(5,   6)   =   0:
g(6,   1)   =   0:     g(6,   2)   =   0:     g(6,   3)   =   1:     g(6,   4)   =   0:     g(6,   5)   =   0:     g(6,   6)   =   0:
for   i   =   1   to   6
visited(i)   =   false
next   i
call   dfs(1,   g)
for   i   =   1   to   6
print   visited(i);   "     ";
next   i
print
end   sub
sub   dfs(u,   g)
dim   visited(1   to   6)   as   boolean
visited(u)   =   true
for   k   =   1   to   6
    if   g(u,   k)   =   1   then
    v   =   k
        if   visited(v)   =   faulse   then
        call   dfs(v,   g)
        end   if
    end   if
next   k
end   sub
发表于:2007-01-04 11:15:431楼 得分:0
应该是死循环了。  
   

发表于:2007-01-04 13:37:522楼 得分:10
要么将   visited   定义未模块变量,要么通过参数传递,否则无意义。
还有打开   option   explicit   选项,应该有编译错误。
发表于:2007-01-04 15:12:593楼 得分:10
if   visited(v)   =   faulse   then     'visited   没有定义为模块变量,faulse应为false
call   dfs(v,   g)      
end   if


快速检索

最新资讯
热门点击