[英]Linked List Data Structures
我试图制作霍夫曼树,所以我创建了一个链表结构。 我正在尝试自动打印出频率,而不是通过以下方式。
cout << root->left->frequency << endl;
cout << root->left->left->frequency << endl;
cout << root->left->left->left->frequency << endl;
cout << root->left->left->left->left->frequency << endl;
如何使用for循环或任何其他方法打印以下内容? 我不想继续添加left->
来访问下一个。
如果需要结构
struct binaryTreeNode
{
string binarycode;
char letter;
int frequency;
int level;
binaryTreeNode *left;
binaryTreeNode *right;
binaryTreeNode()
{
binarycode = "";
frequency = 1;
level = 1;
letter = NULL;
left = NULL;
right = NULL;
}
};
提前致谢!
假设您正确构建了树,这应该打印出最左边的整个链,直到到达叶子为止-
binaryTreeNode *p = root;
while (p->left != NULL) {
p = p->left;
cout << p->frequency << endl;
}
或者,如果您想在N次迭代后停止,只需添加一个计数器即可。
请注意,您的代码不会检查每个级别中指针的有效性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.