作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是想更好地理解指向指针的指针,在互联网上我发现了一个二分搜索的示例,其中开发人员在插入函数中使用了指向指针的指针。
我的问题是:
insert(&(*tree)->right, item 中使用 &
的语法);
.insert
函数如下所示:
void insert(node ** tree, node * item)
{
if(!(*tree))
{
*tree = item;
return;
}
if(item->val<(*tree)->val)
insert(&(*tree)->left, item);
else if(item->val>(*tree)->val)
insert(&(*tree)->right, item);
}
最佳答案
因为这一行,如果 item 为 null,则将它分配给 item,即它启动一个新树。
*tree = item;
如果您只使用一个node*
,那么您将无法为其分配从函数外部可见的新值。这是因为指针是通过值传递的,因此insert
函数只是修改原始值的副本。
2) at the end of insert function the code uses recursive method but I didnt understadn teh syntax of using "&" insert(&(*tree)->right, item);
->
运算符的优先级高于 &
运算符,因此它传入 *tree->right
的地址>,即下一个节点。
关于c - 需要更好的解释为什么我们在二分搜索中使用指向指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6569760/
我正在尝试编写一个程序,在名为 items 的数组中进行顺序搜索和二分搜索,该数组具有 10000 个已排序的随机 int 值。第二个名为 targets 的数组加载了 1000 个 int 值(50
当我尝试使用图表并为其编写一些代码但没有成功时,我遇到了一个问题:/!! 我想创建一些东西来获取图形数据并检查它是否:1- 连接2-二分法3-有循环4-是一棵树 所以我想知道,例如,是否可以将其写入以
我是一名优秀的程序员,十分优秀!