递归
递归就是A方法调用A方法!就是自己调用自己,递归的能力在于用有限的语句来定义对象的无线集合。
递归结构包括两个部分:
- 递归头:什么时候不调用自身方法,如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
5!
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n == 1){
return 1;
}else{
return n*f(n-1);
}
}
冒泡排序
- 比较数组中,两个相邻的元素,如果第一个数比第二个数大,就交换他们的位置。
- 每一次比较,都会产出一个最大,或者最小的数字。
- 下一次则可以少一次排序。
- 依次循环,知道结束。
public static int[] sort(int[] numbers) {
int temp = 0;
for (int i = 0; i < numbers.length - 1; i++) {
boolean flag = false;
for (int j = 0; j < numbers.length - 1 - i; j++) {
if (numbers[j] > numbers[j+1]){
temp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = temp;
flag = true;
}
}
if (flag == false) {
break;
}
}
return numbers;
}