C++;Java代码,几个问题 我有一个代码,但它是C++,我不知道。 但是在我看来,C++和java之间有很多相似之处。 我唯一不知道它们是什么意思/如何用Java编写它们的是: u = getNextUglyNumber(twoQ, t
C++;Java代码,几个问题 我有一个代码,但它是C++,我不知道。C++;Java代码,几个问题 我有一个代码,但它是C++,我不知道。 但是在我看来,C++和java之间有很多相似之处。 我唯一不知道它们是什么意思/如何用Java编写它们的是: u = getNextUglyNumber(twoQ, t,java,c++,Java,C++,C++;Java代码,几个问题 我有一个代码,但它是C++,我不知道。 但是在我看来,C++和java之间有很多相似之处。 我唯一不知道它们是什么意思/如何用Java编写它们的是: u = getNextUglyNumber(twoQ, threeQ, fiveQ, &q); //and what is &q, the &? twoQ.push(u << 1); //what is << ? std::cout <<
但是在我看来,C++和java之间有很多相似之处。 我唯一不知道它们是什么意思/如何用Java编写它们的是:
u = getNextUglyNumber(twoQ, threeQ, fiveQ, &q); //and what is &q, the &?
twoQ.push(u << 1); //what is << ?
std::cout << u << ' '; //this i dont understand at all
*q = 2; // same as q = 2*q?
if (fiveQ.front() < u) {
u = fiveQ.front(); //whats front?
u=getNextUglyNumber(twoQ、threeQ、fiveQ和&q)//什么是&q,这个&?
推(Up>第一>代码>:C++与java有很多相似之处不要被一些东西误导,因为它们可能看起来很相似。事实上它们是非常不同的。但是我认为C++和java之间有很多相似之处。C++的程序看起来非常怪异,到处都是bug,效率低,内存泄漏等等。我建议C++教程。(您可以专门查找您不知道/不理解的内容)。您有一个教程页面和
typedef std::queue<int> Queue;
int findNthUglyNumber(int n) {
Queue twoQ, threeQ, fiveQ;
twoQ.push(2);
threeQ.push(3);
fiveQ.push(5);
int u, q;
while (n) {
u = getNextUglyNumber(twoQ, threeQ, fiveQ, &q);
switch (q) {
case 2:
twoQ.push(u << 1); /// u * 2
case 3:
threeQ.push(u << 2 - u); /// u * 3
case 5:
fiveQ.push(u << 2 + u); /// u * 5
}
n--;
std::cout << u << ' ';
}
return u;
}
int getNextUglyNumber(Queue &twoQ, Queue &threeQ, Queue &fiveQ, int &q) {
int u = twoQ.front();
*q = 2;
if (threeQ.front() < u) {
u = threeQ.front();
*q = 3;
}
if (fiveQ.front() < u) {
u = fiveQ.front();
*q = 5;
}
switch (*q) {
case 2:
twoQ.pop();
break;
case 3:
threeQ.pop();
break;
case 5:
fiveQ.pop();
break;
}
return u;
}
System.out.print(u);
System.out.print(' ');
Queue<Integer> fiveQ = new LinkedList<>();
fiveQ.add(5); // fiveQ.push(5); in C++
fiveQ.peek(); // fiveQ.front(); in C++
fiveQ.remove(); // fiveQ.pop(); in C++
public class MutableInt {
private int value = 0;
public int get() {
return value;
}
public void set(int value) {
this.value = value;
}
@Override
public String toString() {
return String.valueOf(value);
}
}