数组操作
二维数组
二维数组本质 就是一个平面数据结构(表)
二维数组中的元素都是一维数组
Scanner
接收控制台输入
计算器
使用Scanner 完成计算器功能
只需要实现 加减乘除取余即可
**排序算法 **
变量交换
排序
冒泡排序
1 比较相邻的两个元素,如果第一个比第二大就交换位置
2 对每一对相邻的元素做相同的工作,从第一对一直比较到最后一对,比较一轮结束后,最后一个元素一定是最大的
3 针对所有元素,重复上面的步骤,除了最后一个元素
4 持续循环中,比较次数越来越少,一直剩下一个数据(没有一对了,只有一个了),比较结束
选择排序
1 每次都把当中最小的放到最左边
2 先拿出第一个元素,假设这个元素是最小的元素,然后挨个和后面所有比较,全部比较完之后,如果有比第一个小的,就交换位置,把这个最小的放到第一位
3 交换需要临时变量
二分法
当数据过大的时候,想要查找某个数据,并不是一件容易的事,尤其是我们要找的数据可能在最后几条,如果依次比较数据,效率太低
1 必须建立在已经排序的基础之上
2 没有重复数据
算法实现
1 确定数据的开始位置和结束位置
2 确定数据的中间位置,判断中间位置元素是否是目标数据,如果是,就直接返回中间数据对应的下标
3 如果不是,分为两种
1 目标数据大于中间数据
起始值 = 中间值 + 1 , 结束值不变
2 目标数据小于中间数据
结束值 = 中间值 - 1 , 起始值不变
4 更改起始值或结束值之后,必须重新计算中间值
5 终止条件 : 当起始值大于结束值的时候,说明没有这个目标数据