关于没有size成员变量的循环变量

关于没有size成员变量的循环变量

对于size的计算,老师给出的参考答案是通过判断front和tail的关系来计算,我自己写的是(tail-front+data.length)%data.length,这种写法可以么?我测试了一下是正确的,但不知是否未测试完全。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
假蛙工程师 2021-10-28 16:01:06

的确,不需要if判断,直接返回即可,像下面这样

public int getSize(){
    return (tail - front + data.length) % data.length;
}


代码更简洁了,但是不如if判断容易理解

if(tail > front){
    return tail - front;
}else{
    return tail + data.length - front;
}

    

liuyubobobo 2020-09-02 02:55:39

赞!完全可以。和我给出的代码逻辑是等价的。


你的方法取消了 if 判断,但是多了求余运算:)


继续加油!:)

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
算法与数据结构
  • 参与学习       2583    人
  • 解答问题       1082    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师