第四章 快速排序
4.1 sum函数代码
public static int sum(int[] array){
int length = array.length;
if (length == 1) {
return array[0];
} else {
int[] array2 = new int[array.length - 1];
System.arraycopy(array,1,array2,0,array.length-1);
return array[0] + sum(array2);
}
}
4.2 没做,java直接是array.length
4.3 二分找不到吧?直接遍历比较,记录最大就好了
4.4 递归实现二分查找
函数返回的是要找array的下标,会有一次没用的递归,不优化了哈哈哈
public static int search(int x,int[] array,int start,int end) {
if (x == array[start]) {
return start;
}
if (x == array[end]) {
return end;
}
int index = (end - start) / 2;
if (x == array[index]) {
return index;
}
if (x >array[index]){
start = index + start;
}else {
end = index;
}
return search(x, array, start, end);
}
==============================================华丽分割线=================================================
1、刚入门算法,看的图解算法,代码难免有误,而且低效,还请各位指正。
2、会不断更新,书看到哪,练习做到哪。