How do you implement tuples in Java for learning algorithms?

I'm learning the algorithm by myself. If my title is incorrect, I'm sorry! I don't understand how to implement it in 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)

I don't know how to implement the following parts in Java

(q,r)=(0,0)
(q,r)=divide(⌊x/2⌋,y)
return (q,r)

Solution

Although Java lacks built-in support for tuples, the good news is that you don't have to use tuples to implement this algorithm except for return values Both regular int variables R and Q are OK

// (q,0)
int q = 0,r = 0;
// (q,y)
q = (x/2) / y;
r = (x/2) % y;

Returning is tricky because you have to return two values The usual way to use it in Java is to define a class:

class QandR {
    private final int q;
    private final int r;
    public QandR(int q,int r) {
        this.q = q;
        this.r = r;
    }
}

Now you can return the new qandr (Q, R) from the method

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>