需要帮助来确定给定的算法是迭代的还是递归的

Need help to determine if a given algorithm is iterative or recursive

所以我得到了一个计算机科学模块的项目,他们要求我们执行快速迭代和合并排序,所以我写了一个算法,但我不确定它是迭代还是递归。

任何反馈将不胜感激,提前致谢!

这是算法(它有效,只需要知道它是否迭代)

public static void quickSort(ArrayList<school> x){

    if(x.isEmpty()){        
        return ;
    }
    
    ArrayList<school> smaller = new ArrayList<>();     
    ArrayList<school> greater = new ArrayList<>();      

    school pivot = x.get(0);        // pivot value
    int i;      // incremental counter
    school j;       // looping value

    for( i=1; i < x.size();i++){
        j = x.get(i);                                       
        if( j.getName().compareTo(pivot.getName()) < 0 ){       
            smaller.add(j);
        }else{
            greater.add(j);
        }
    }

    quickSort(smaller);
    quickSort(greater);

    x.clear();

    x.addAll(smaller);
    x.add(pivot);
    x.addAll(greater);

}

quickSort 函数是从自身内部调用的,因此这是递归的。