- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在练习和学习C和C++的数据结构。现在我经常使用JAVA语言,并一直在用JAVA练习数据结构。
然后就出现了一个问题。在创建树的练习过程中,我做了像C和C++一样的Coding,但是没有添加Node。
private Node<E> root;
public void insert(E item) {
Node<E> r = root;
insert(r, item);
}
private void insert(Node<E> node, E item) {
if (node == null) {
System.out.println(item);
Node<E> newNode = new Node<>(null, item, null);
node = newNode;
return;
}
if (node.item.compareTo(item) == -1)
insert(node.prev, item);
else
insert(node.next, item);
}
二叉搜索树。
编码如上完成,没有生成任何内容。
顺便说一下,
private Node<E> root;
public void insert(E item) {
if (root == null) {
Node<E> newNode = new Node<>(null, item, null);
root = newNode;
return;
}
Node<E> r = root;
insert(r, item);
}
private void insert(Node<E> node, E item) {
if (node.item.compareTo(item) == -1) {
if(node.prev == null) {
Node<E> newNode = new Node<>(null, item, null);
node.prev = newNode;
}
else
insert(node.prev, item);
}
else {
if(node.next == null) {
Node<E> newNode = new Node<>(null, item, null);
node.next = newNode;
}
else
insert(node.next, item);
}
}
由于上述编码而创建了树。
总而言之,
C或C++中的引用与JAVA中的引用不同吗? (这是一个愚蠢的问题,但如果您能解释上述两者之间的区别,我将不胜感激。)
感谢您的回复。
最佳答案
在java中,函数中的对象参数不像c中的引用,而更像指针,通过值传递,在c中,其中“.” java 中的运算符的作用类似于 c 中的“->”运算符。
所以如果给参数节点赋值,就相当于给c中的指针节点赋值了一个新的地址,其中指针是按值传递的。但是,如果您通过“.”更改其参数来更改对象本身。运算符,就像c中使用“->”运算符更改其参数一样。
关于java - JAVA的引用和C、C++的引用有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54453868/
我觉得 for(int i = 0; i < 2; i++) 和 for(int i = 0; i < 2; ++i) 不应该做同样的事情。对于第二个例子,从循环开始 i 应该等于 1 对我来说更符合
我试图牢牢掌握异常情况,以便改进我的conditional loop implementation .为此,我进行了各种实验,扔东西,看看会被抓到什么。 这个让我惊喜不已: % cat X.hs mo
我只是想回答一个问题,但我遇到了一些我不明白的事情!为什么如果我在文件中使用内联 CSS 或 CSS,如本例中的颜色,结果就不一样! 代码相同,但第一段是绿色,第二段是红色! 我真的不明白为什么? 谢
我目前正在学习 CSS 并进行试验,我偶然发现了输出中的这种差异。所以这是代码: .red-text { color: red;
"""module a.py""" test = "I am test" _test = "I am _test" __test = "I am __test" ============= ~ $ p
在向 Firestore 写入文档时,我经常看到 serverTimestamp() 标记和 new Date() 对象之间的差异不为零。 差异范围从几 秒到几十 分钟。 他们不是在做同样的事情吗?
据我了解,2.675 和 numpy.float64(2.675) 都是相同的数字。然而,round(2.675, 2) 给出 2.67,而 round(np.float64(2.675), 2) 给
问题本身的描述很简单。我正在测试 C++11 中 std::thread 库和 boost::thread 库的区别。 这些的输出: #include #include #include int
我只是想将文本文件读入 pyspark RDD,我注意到 sqlContext.read.load 之间的巨大差异和 sqlContext.read.text . s3_single_file_inp
SC.exe 和 InstallUtil 都可以安装/卸载 Windows 服务。但它们的工作方式似乎并不相同。 有什么区别? 例如,InstallUtil 失败(找不到某些文件或依赖项错误),而 S
我认为Thread对象就像是带有名称和静态Thread.CurrentThread()的抽象对象,就像访问Thread对象的方式一样。显然,这是错误的假设。。是这样的吗?
我认为Thread对象就像是带有名称和静态Thread.CurrentThread()的抽象对象,就像访问Thread对象的方式一样。显然,这是错误的假设。。是这样的吗?
我是一名优秀的程序员,十分优秀!