我有这个带有 Matlab 的 tarjan 程序的代码源,当我运行 prog 时出现这个错误,我该如何修复它
function [C, S, idx, index, index_accessible] = strongconnect(C, G, v, S, idx, index, index_accessible)
index(v) = idx;
index_accessible(v) = idx;
idx = idx+1;
S = push(S,v); %ajouter le sommet courant à la pile
% Liste les sommets adjacents au sommet courant
n = voisin(G,v);
% Parcours récursif
for i = 1:length(n)
if(index(n(i)) == 0)
[C, S, idx, index, index_accessible] = strongconnect(C, G, n(i), S, idx, index, index_accessible);
index_accessible(v) = min(index_accessible(v), index_accessible(n(i)));
elseif (~isempty(find(S == n(i), 1)))
index_accessible(v) = min(index_accessible(v), index(n(i)));
end
end
% Le sommet est une racine, on calcule la composante fortement connexe associée
if(index_accessible(v) == index(v))
cc = []; %composante fortement connexe issue du sommet
if(~isempty(S))
[tmp, S] = pop(S);
cc = [cc tmp];
end
while(~isempty(S) && tmp ~= v)
[tmp, S] = pop(S);
***cc*** = [cc tmp];
end
if(~isempty(cc))
% Les composantes connexes n'ont pas toutes
% la même longueur. On complète donc la ligne
% avec des 0.
C = [C ; cc zeros(1,size(G,1) - length(cc))];
end
end
end
问题在于星星之间的cc