[英]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
函数是从自身内部调用的,因此这是递归的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.