对自己学习算法,你如何在java中实现元组?
发布时间:2020-12-14 05:53:39 所属栏目:Java 来源:网络整理
导读:我正在自学算法,如果我的标题不正确,我很抱歉!我不明白如何在 Java中实现它. if x = 0: return (q,r) = (0,0) (q,r) = divide(?x/2?,y)q=2·q,r=2·rif x is odd: r=r+1 if r≥y: r=r?y,q=q+1 return (q,r) 我不知道如何在Java中实现以下部分. (q,r)=(0,0)(
我正在自学算法,如果我的标题不正确,我很抱歉!我不明白如何在
Java中实现它.
if x = 0: return (q,r) = (0,0) (q,r) = divide(?x/2?,y) q=2·q,r=2·r if x is odd: r=r+1 if r≥y: r=r?y,q=q+1 return (q,r) 我不知道如何在Java中实现以下部分. (q,r)=(0,0) (q,r)=divide(?x/2?,y) return (q,r) 解决方法
尽管Java缺乏对元组的内置支持,但好消息是除了返回值之外,您不必使用元组来实现此算法.两个常规的int变量r和q都可以.
// (q,0) int q = 0,r = 0; // (q,y) q = (x/2) / y; r = (x/2) % y; 返回有点棘手,因为你必须返回两个值.在Java中使用它的惯用方法是定义一个类: class QandR { private final int q; private final int r; public QandR(int q,int r) { this.q = q; this.r = r; } } 现在您可以从方法中返回新的QandR(q,r). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |