????C++????????????????????????????????д?????????????麯???????????????????????
????void AVLTree::insertNode(AVLNode* mroot?? int item){//??????
????if (mroot == 0){
????mroot = new AVLNode(item);
????}
????else if (mroot->data > item){
????mroot->balanceFlag++;
????insertNode(mroot->left?? item);
????}
????else if (mroot->data < item){
????mroot->balanceFlag--;
????insertNode(mroot->right?? item);
????}
????else{
????cout << "Item has already in the Tree" << endl;
????}
????}
??????main?????????
????avltree.insertNode(avltree.getRoot()?? 1);
????avltree.insertNode(avltree.getRoot()?? 2);
????avltree.insertNode(avltree.getRoot()?? 3);
????????alvtree.getRoot()??????????????????????????
???????????????????????????????????ε??????????е?????????????????????????????????
??????????????????????????????????????????????ж???
??????????????????????????????????????????????????????ε????
?????????????????????????????????????ε??????????????????????????????????ε??????????и?????
??????????????У??????????????????????????ε???????????????????????????????????仯??????????????????????????????? ??????
????if (mroot == 0){
????mroot = new AVLNode(item);
????}
????????mroot??????????μ??????????????????仯????????root?????????????仯??
?????????????????????????
???????????????????δ?????????????????????Ρ????????????????д????????????????ε?????????????????????ε???????????????????????????????ε????????????????????????
??????????????????????????????д????????????????????д?????????????????????????AVLNode*??????
????typedef AVLNode* AVLPoint;
???????麯???У?????????
????void AVLTree::insertNode(AVLPoint& mroot?? int item){//??????
????if (mroot == 0){
????mroot = new AVLNode(item);
????}
????else if (mroot->data > item){
????mroot->balanceFlag++;
????insertNode(mroot->left?? item);
????}
????else if (mroot->data < item){
????mroot->balanceFlag--;
????insertNode(mroot->right?? item);
????}
????else{
????cout << "Item has already in the Tree" << endl;
????}
????}
???????????????????????
?????????????????????????????????????????????????????????????????????