C++ C++;结构回归真实,但为什么?
做一些课程,我需要做一个二叉搜索树。小菜一碟,应该很有趣。 因为C++没有字典的特点,所以我决定用BST来编字典。 我在网上找到了一些代码,让我简单地了解它们是如何组合在一起的,它们都比较简单,但对于C++来说是新的,并且来自C语言环境,有一件事把我弄糊涂了,那就是“C”。我不明白为什么在while循环中“c”返回true,或者为什么更改左侧或右侧的数据会影响这个结果C++ C++;结构回归真实,但为什么?,c++,structure,binary-search-tree,C++,Structure,Binary Search Tree,做一些课程,我需要做一个二叉搜索树。小菜一碟,应该很有趣。 因为C++没有字典的特点,所以我决定用BST来编字典。 我在网上找到了一些代码,让我简单地了解它们是如何组合在一起的,它们都比较简单,但对于C++来说是新的,并且来自C语言环境,有一件事把我弄糊涂了,那就是“C”。我不明白为什么在while循环中“c”返回true,或者为什么更改左侧或右侧的数据会影响这个结果 node* t = new node; node* parent; t->data; t->left = NUL
node* t = new node;
node* parent;
t->data;
t->left = NULL;
t->right = NULL;
parent = NULL;
...
node* c;
c = root;
while (c)
{
parent = c;
if(t->data > c->data)
{
c = c->right;
}
else //else it's assigned left
{
c = c->left;
}
}
<>在C和C++中,指针为空,则为假,否则为真。这个while循环一直沿着树向下走,直到
c
变成空指针
此外,C++也有字典。查看
std::map
和std::unordered\u map
啊,我明白了。非常感谢你。我之前读过关于std::map的文章,但我想我忘记了,但哦,好吧,重新发明轮子没有什么坏处。