AVL 樹是自平衡二叉搜尋樹,插入節點後透過旋轉維持高度平衡。本文提供完整的 C++ 實作,支援讀取 1-3 位整數並動態輸出樹狀結構。
struct Node { int key, height; Node *left, *right; };
Node* rightRotate(Node* y);
Node* leftRotate(Node* x);
int getBalance(Node* n);
Node* insert(Node* node, int key);
void printInOrder(Node* root);
void printLevelOrder(Node* root);
主程式迴圈讀取整數,呼叫 insert 後列印樹狀圖,直到輸入非數字結束。完整可編譯代碼請參考原文連結的部落格文章。