[問題] 如何寫遞迴已回收
小弟想請問遞迴的寫法
目前程式中有段程式是要判斷 surround是否是空集合
然後產生一個新的surround
if isempty(surround)==1
u=find(visited ==0);
k = find( netYloc(u) >1 & visited(u)==0);
u = u(k);
o= find(visited(u+1)==1 | visited(u-1)==1 );
u = u(o);
addmatrix = u(1);
visited(addmatrix)=1 ;
surround = [addmatrix+img_width addmatrix-img_width
addmatrix+img_width+1 addmatrix+img_width-1 addmatrix-img_width+1
addmatrix-img_width-1 addmatrix+1 addmatrix-1 ];
total = find( netYloc(u) >1 & visited(surround)==0);
surround = surround(total) ;
surround = unique(surround) ;
num = numel(surround);
end
但執行時發現在某些狀況下
仍然有可能找到空集合的surround
所以要繼續執行這段code 直到surround不回空集合為止
請各位大大指點指點
感激不盡~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.202
推
06/03 22:25, , 1F
06/03 22:25, 1F