目录
我们学习数组的时候,需要对数组的数据进行一下处理,例如排序和查找这种简单的原理我们需要去学会怎么去用自己写的代码去运行,
但是呢!JAVA的类库里面其实已经封装好了一个叫做Array的工具类,需要用到的时候就进行调用,因此不用我们太过于去了解工具类里面的源码,
程序员只需要知道如何调用工具类为自己服务就行,效率会提高很多!,接下来先了解一下常见的数组算法和Array工具类
数组:
常见的算法:
1、排序算法:
冒泡排序算法
选择排序算法
2、查找算法:
二分法查找
3、算法:
实际上在java中不需要精通算法,因为java中已经封装好了算法,要排序的时候就进行调用方法就行
例如:
java中提供了一个数组工具类
java.util.Arrays
Array工具类
既然是工具类,意味着java已经帮助程序员完成了封装等工作,这个工具类是带有static关键字的,因此调用的时候不需要频繁的new对象,直接类名.进行调用即可
可以在idea中双敲shift键位,调出搜索框后输入 Arrarys 找到此类即可
其中有一个sort() 方法,可以排序
这个方法是静态方法,直接使用类名调用就行
注意:工具类中的方法大部分是静态方法
4、冒泡排序算法(理论)
参与比较的数据:9 8 10 7 6 0 11
第一次循环:
8 9 10 7 6 0 11(1次比较:交换)
8 9 10 7 6 0 11(2次比较:不交换)
8 9 7 10 6 0 11(3次比较:交换)
8 9 7 6 10 0 11(4次比较:交换)
8 9 7 6 0 10 11(5次比较:不交换)
8 9 7 6 0 10 11(6次比较:交换)
最终冒出最大数据在右边:11
此时参与比较的数据:8 9 7 6 0 10
第二次循环:
8 9 7 6 0 10(1次比较:不交换)
8 7 9 6 0 10(2次比较:交换)
8 7 6 9 0 10(3次比较:交换)
8 7 6 0 9 10(4次比较:交换)
8 7 6 0 9 10(5次比较:不交换)
此时参与比较的数据:8 7 6 0 9
第三次循环:
7 8 6 0 9(1次比较:交换)
7 6 8 0 9(2次比较:交换)
7 6 0 8 9(3次比较:交换)
7 6 0 8 9(4次比较:不交换)
此时参与比较的数据:7 6 0 8
第四次循环:
6 7 0 8(1次比较:交换)
6 0 7 8(2次比较:交换)
6 0 7 8(3次比较:不交换)
此时参与比较的数据:6 0 7
第五次循环:
0 6 7(1次比较:交换)
0 6 7(2次比较:不交换&#x