Добрый день.
Пытаюсь обратиться из функции к самой же функции(рекурсивно).
Пример:
#обход графа в глубину
function find {
roww=$1
was[$roww]=1 #массив пройденых вершин, отмечаем вершину как пройденую
for((a=0; a<$cols; a++)) #для каждой вершины графа цикл
do
index=$((roww*cols+a)) #индекс элемента массива матрицы смежности
if [[ ${arr[$index]} -ge 1 ]] #если есть переход на другую вершину
then
if [[ ${was[$a]} -ge 1 ]] #если она уже была пройедна, то цикл
then
echo circle ${arr[$index]}
continue
else
find $a #если не пройдена, то повторяем проход для найденой вершины
fi
fi
done
}Вызываю функцию из цикла:
for((b=0; b<$cols; b++))
do
nullm #функция зануления массива was, зануляется для каждой вершины
find $b #вызов функции
doneПроблема в том, что функия не вызывается повторно, если вершина не пройдена, т.е. отрабатывает только один раз. Прошу помочь найти ошибку или подсказать что делаю не так.
