簡體   English   中英

鏈表數據結構

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM