冒泡排序j<arr.length-1-i, 选择排序j=i+1
api调用程序编程接口 注意导包否则就要写类全名(包名.类名) 只写类名,默认在本包中找
那个数组方法因为是传引用,所以不需要返回值(题目中也没要求返回数组)
冒泡排序(依次比较相邻两个元素) 1 嵌套循环 2 内层循环取决于外层循环 3 需要一个中间变量
选择排序(第一个依次和剩余的元素比) 1 每次都把最小的/最大的放到最左边 2 嵌套循环比较 3 中间变量 需要假设一个是最小/大的数据
API排序 Array.sort(arr);
查找元素 顺序查找(编码简单,效率低) 二分查找(要求多,效率高)
二分查找:1 建立在排序的基础之上 2 数据没有重复元素,如果有,先找到那个算哪个 3 用于查找固定有序的数据
算法实现 :
- 1 确定起始和结束位置
- 2 确定中间数据,判断中间数据是否为目标数据,如果是直接返回
- 3 如果目标数据小于中间数据,则 起始值不变,结束值 为 中间值 -1
- 4 如果目标数据大于中间数据,则 结束值不变,起始值 为 中间值 +1
- 5 如果 起始值 大于 结束值 终止比较,说明不存在
- 6 重复执行以上操作即可