JavaSE之数组操作(二维数组,控制台接收器,计算器,排序)

数组操作

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值