经典排序:
在学习中对数组中元素排序成为我们乐此不疲的事情,同时也要善于发现和利用Idea中的一些
工具,而经典的排序也是在以后学习工作中经常用到的,那么我讲结合面向对象的思想去总结一
下排序当中的可以直接使用的方法在介绍方法之前我们需要对Arrays类进行了解
Arrays是对存储各种类型数组进行操作的工具类,而在排序中我们需要运用到方法主要有三个:
toString(int[ ]arr):
参数:数组,任何数组,这里以int类型数组为例
作用:对数组中的元素直接打印
没有构造方法,所以是静态类,可以用类调用
使用格式:
Arrays.toString(所求数组的数组名);
快速排序:
Arrays.sort(所求数组的数组名);
进行排序,将结果返回到原数组中,是Idea中已经写好的类,可以直接使用.
二分法:
Arrays.binarySearch(int[]arr,int key);
作用:查找arr数组中key的索引值,如果存在,返回索引值,如果不存在,返回-1;
那么需要我们掌握的是冒泡排序.
下面我将冒泡排序的代码分享给大家:
public static int[] bufferSort(int[] nums) {
for (int i = 0; i < nums.length - 1; i++) {
//外层循环控制的是次数,比数组少一次
for (int j = 0; j < nums.length - 1 - i; j++) {
//内层循环是实际比较次数,-1的母的是防止越界
if (nums[j] > nums[j + 1]) {
int temp = nums[j + 1];
nums[j + 1] = nums[j];
nums[j] = temp;
}
}
}
return nums;
}
递归:
实质是不断调用自身方法,进行循环操作,直到找到出口
想用递归的思想需要满足以下两个条件:
1.必须有出口,没有出口会导致栈内存溢出.
2.有规律,也就是不断调用自己的过程.