info函数在数据结构中用法
时间: 2023-06-22 11:19:34 浏览: 129
在数据结构中,`info` 函数通常用于获取数据结构的一些信息,例如数据结构的大小、高度、深度、负载因子等等。这些信息对于数据结构的构建、维护和优化非常重要。
以下是一些示例,展示了 `info` 函数在不同的数据结构中的用法:
1. 在链表中,`info` 函数可以用于获取链表的长度。例如:
```c
int get_length(struct Node* head) {
int length = 0;
struct Node* p = head;
while (p != NULL) {
length++;
p = p->next;
}
return length;
}
```
2. 在树中,`info` 函数可以用于获取树的高度。例如:
```c
int get_height(struct TreeNode* root) {
if (root == NULL) {
return 0;
} else {
int left_height = get_height(root->left);
int right_height = get_height(root->right);
return (left_height > right_height) ? (left_height + 1) : (right_height + 1);
}
}
```
3. 在哈希表中,`info` 函数可以用于获取哈希表的负载因子。例如:
```c++
float get_load_factor(unordered_map<string, int>& scores) {
return (float)scores.size() / (float)scores.bucket_count();
}
```
这个函数的输入参数是存储学生姓名和成绩的哈希表 `scores`,输出参数是哈希表的负载因子。在函数实现中,我们使用 `size` 函数获取哈希表中键值对的个数,使用 `bucket_count` 函数获取哈希表中桶的个数,然后计算出负载因子。
阅读全文