我想知道下面给定代码中的函数返回类型.....并解释这段代码是如何工作的?

时间:2015-04-21 08:45:10

标签: c

解释下面给出的函数的返回类型以及如何调用此函数

// C function to search a given key in a given BST
struct node* search(struct node* root, int key) 
{
  // Base Cases: root is null or key is present at root
  if (root == NULL || root->key == key)
    return root;

  // Key is greater than root's key
  if (root->key < key)
    return search(root->right, key);

  // Key is smaller than root's key
  return search(root->left, key);
}

2 个答案:

答案 0 :(得分:0)

此函数在树中搜索具有给定键的节点。找到该节点后,将返回该节点。该函数接受树的根和要搜索的键。树中的节点通常包含一个值和指向所有节点后代的指针。因此,在二进制树的情况下,它包含指向左右后代的指针。

为了调用此函数,您需要首先构造一个树并将指针保存到其根目录。然后使用您要搜索的根和密钥调用此函数。

答案 1 :(得分:0)

函数的返回类型是struct node*,即指向struct node类型的指针。它将返回给定键的节点。

您可以将其称为

search(root, key); // 'root' is root of the tree and 'key' is the data you want to search.