对自己学习算法,你如何在java中实现元组?

前端之家收集整理的这篇文章主要介绍了对自己学习算法,你如何在java中实现元组?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在自学算法,如果我的标题不正确,我很抱歉!我不明白如何在 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).

猜你在找的Java相关文章