• ÆÐ¼Ç
  • ¾ó±¼ ÀνÄ
  • À¥¼Ò¼³
  • ¾ÆÀÌÅÛ¸ô
³²À» ÇູÇÏ°Ô ¸¸µé¾îÁÖ´Â, ¿ô±ä´ëÇп¡ ¿À¼Ì½À´Ï´Ù.












Á¦¸ñ C++ »ó¼Ó¿¡ ´ëÇØ Áú¹®ÀÖÀ¾´Ï´Ù. [6]
ÀÛ¼ºÀÚ °í¿î¸»»ç¿ëÀÚ
¹øÈ£ 5888 Ãßõ 1 ¹Ý´ë 0 ´ä±Û 6 Á¶È¸ 313 ÀÛ¼º½Ã°£ 2018-04-09 20:56:14
ÀÌÀü
´ÙÀ½
̵̧
¹Ý´ë
½Å°í
´ÜÃà URL º¹»ç
½ºÅ©·¦
ÃßõµÇ¾ú½À´Ï´Ù.
¡ç CTRL+C ·Î º¹»çÇϰí CTRL+V ·Î ºÙ¿©³ÖÀ¸¼¼¿ä!
   ±â±â¸¦ °¨ÁöÇÏ¿© ÃÖÀû URL ·Î º¸³»ÁÝ´Ï´Ù.
´ÜÃà URL: https://humoruniv.com/program5888 URL º¹»ç

TreeBinary.cpp ÆÄÀÏ

#include <iostream>
using namespace std;
template <typename T>
class Node{
public:
    Node£¨£© {
        left = 0;
        right = 0;
    }
    Node£¨T _data£©:data£¨_data£© {};
    template <typename T> friend class TreeBinary;
    T data;
    Node* left;
    Node* right;
};
template <typename T>
class TreeBinary {
public:
    TreeBinary£¨£©
        :m_numNode£¨0£©
    {    
        cout << "BT c o - n s t r u c t o r" << endl;
    }    
    TreeBinary£¨T _data£©
        :m_numNode£¨1£©
    {
        root = new Node<T>£¨_data£©;
        cout << "BT c o - n s t r u c t o r, data : " << root->data << endl;
    }
    ~TreeBinary£¨£© {
        RemoveAll£¨root£©;
        cout << "BT destructor" << endl;
    }
    void RemoveAll£¨Node<T>* delNode£© {
        if £¨delNode£© {
            RemoveAll£¨delNode->left£©;
            RemoveAll£¨delNode->right£©;
            cout << delNode->data << " delete\n";
            delete delNode;
        }
    }
    void PreorderPrint£¨£© {
        Preorder£¨root£©;
    }
    void Preorder£¨Node<T>* travel£© {
        if £¨travel£© {
            cout << "visit " << travel->data << endl;
            Preorder£¨travel->left£©;
            Preorder£¨travel->right£©;
        }
    }
    void InorderPrint£¨£© {
        Inorder£¨root£©;
    }
    void Inorder£¨Node<T>* travel£© {
        if £¨travel£© {
            Inorder£¨travel->left£©;
            cout << "visit " << travel->data << endl;
            Inorder£¨travel->right£©;
        }
    }
    void PostorderPrint£¨£© {
        Postorder£¨root£©;
    }
    void Postorder£¨Node<T>* travel£© {
        if £¨travel£© {
            Postorder£¨travel->left£©;
            Postorder£¨travel->right£©;
            cout << "visit " << travel->data << endl;
        }
    }
    int GetNodeNumber£¨£© {
        return m_numNode;
    }
private:
    Node<T>* root;
    int m_numNode;
};

ÀÌÈÄ »ó¼Ó¹ÞÀº TreeBinarySearch.cpp ÆÄÀÏ

#include "TreeBinary.cpp"
template <typename T>
class TreeBinarySearch
    :public TreeBinary<T>                 //<<<<<<<<<<<<<<<<<<<<<»ó¼ÓÇϴ ºÎºÐ <<<<<<<<<<<<<
{
public:
    TreeBinarySearch£¨£© {
        cout << "BST c o - n s t r u c t o r" << endl;
    }
    TreeBinarySearch£¨T _data£©
        :TreeBinary<T>£¨_data£©
    {
        cout << "BST c o - n s t r u c t o r, data : " << _data << endl;
    }
    ~TreeBinarySearch£¨£© {
        cout << "BST destructor" << endl;
    }
    void insert£¨T _data£© {
        Node<T>*tmp= root;
        if £¨root£© {                                         // <<<<<<<<<<<<<<<¿À·ù°¡ ¶ß´Â ºÎºÐ <<<<<<<<<<<
            root = new Node<T>£¨_data£©;
            m_numNode++;
            return;
        }
        while £¨true£© {
            if £¨tmp->data > _data£© {
                if £¨tmp->right£© tmp = tmp->right;
                else {
                    tmp->right->data = _data;
                    return;
                }
            }
            else {
                if £¨tmp->left£© tmp = tmp->left;
                else { 
                    tmp->left->data = _data;
                    return;
                }
            }
        }
    }
};
int main£¨£© {
    TreeBinarySearch<int> B£¨1£©;
    B.PreorderPrint£¨£©;
    B.insert£¨2£©;                               
    return 0;
}

¸ÞÀο¡¼­ B.insert  ÇÔ¼ö¸¦ ½ÇÇàÇϸé
rootºÎºÐÀ» Ã£À» ¼ö ¾ø´Ù°í ¶ß°Åµç¿ä.
m_numNodeµµ¿ä.. ÁÖ¼®Ã³¸®Çϸ頿¡·¯¾øÀÌ Àß µÅ¿ä.

¿À·ù    C2065    'root': ¼±¾ðµÇÁö ¾ÊÀº ½Äº°ÀÚÀÔ´Ï´Ù.
¶ó°í ¶ß°Åµç¿ä..
Çì´õÆÄÀϵµ include ÇÏ¿´°í, »ó¼Óµµ ÇØÁá°í..

Á¦°¡ ¾Æ´Â »ó¼ÓÀº child°¡ parent¸¦ »ó¼ÓÇϸé parent+£¨child¿¡¼­ Ãß°¡ÇÑ ÄÚµåµé£© ÀΰɷΠ¾Æ´Âµ¥,,
¿Ö parentŬ·¡½ºÀÇ º¯¼ö¸¦ ¸øÃ£´Â´Ù°í ³ª¿Ã±î¿ä? 
 

* ÄÁÅÙÃ÷ Ãâó : ÀÛ¼ºÀÚ º»ÀÎ
±âºÎ Ãßõ ¹Ý´ë ½Å°í
ÃßõµÇ¾ú½À´Ï´Ù.

¡ã ´ÙÀ½±Û ¾¾¾ð¾î ¹è¿­Áú¹®ÀÔ´Ï´Ù ¤Ð¤Ð ¸ð»ý¸ð·¯ 2 0 1 1,525 2018-04-10 [10:08]
¡å ÀÌÀü±Û C++ ÀԷ¹ÞÀ»¶§ »óȲº°·Î ÀԷ ŰÀÛÀ¸¸é±Í¿±ÀÝ¾Æ 0 0 5 175 2018-04-09 [14:48]
´ä±Û¸¶´ç (6)
ÈÖ¹Ù¶÷¢â
private
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í ´ä±Û ´ä±Û 2018-04-09 21:04:53
°í¿î¸»»ç¿ëÀÚ
Á¦°¡ ¾Æ´Â ¼±¿¡¼­ private¶§¹®¿¡ »ý±ä ¿À·ù´Â Parent ÀÇ private ¸â¹ö¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù ÀÌ·± ¿À·ù°¡ ¶°¾ßµÇ´Â °ÍÀ¸·Î ¾Ë°í Àִµ¥¿ä. Á¦ Äڵ忡¼­´Â root ¼±¾ðÇÏ´Â ºÎºÐÀ» private¿¡¼­ protected³ª publicÀ¸·Î ¹Ù²Ù¾îµµ µ¿ÀÏÇÑ ¿À·ù°¡ ¶ß³×¿ä ¤Ì¤Ì
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í 2018-04-09 21:20:25
°í¿î¸»»ç¿ëÀÚ
https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=299014477 thisÆ÷ÀÎÅ͸¦ »ç¿ëÇÏÁö ¾Ê¾Æ¼­ »ý±ä ÀÏÀ̾ú³×¿ä. ´äº¯°¨»çÇÕ´Ï´Ù.
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í 2018-04-09 23:32:24
ÈÖ¹Ù¶÷¢â
¿Í¿õ; Àúµµ óÀ½ ¾Ë¾Ò³×¿ä; vs¿¡¼­´Â ±×³É µÇ¾ú´ø°É·Î ±â¾ïÇϴµ¥ ¤Ì¤Ì
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í 2018-04-11 15:51:52
¾Æ·Ð´ÙÀ̵å
ÃÎÀå´ÔÀ» º¸·Á¸é ÇÁ·Î±×·¡¹Ö ¿¡¼­ º¼¼öÀÖ±º¿ä ¤¾¤¾
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í ´ä±Û ´ä±Û 2018-04-10 11:18:24
ÈÖ¹Ù¶÷¢â
Àú ¬ÀÔ´Ï´Ù ¤Ì
00 Ãßõ Ãßõ ¹Ý´ë ¹Ý´ë ½Å°í ½Å°í 2018-04-11 15:51:34
»ó´ë¹æ¿¡ ´ëÇÑ ¹è·Á´Â ³×ƼÄÏÀÇ ±âº»ÀÔ´Ï´Ù.°Ô½Ã¹°¿¡ »ó°ü¾ø´Â ´ä±ÛÀ̳ª ÃßõÀ¯µµ¼º ´ä±ÛÀ» ´ÞÁö ¸¶¼¼¿ä.
½ºÆ÷ÀÏ·¯¼º ´ä±ÛÀÌ ½Å°íµÇ°Å³ª ¹ß°ßµÇ¸é ÀÌÀ¯ºÒ¹® »èÁ¦ ȤÀº Á¤ÇÐó¸® µË´Ï´Ù. À¯ÀÇ ºÎŹ µå¸³´Ï´Ù.
´ä±Û¾²±â
ÇÑ±Û 512ÀÚ
·Î±×ÀÎ
[°øÁö] ¨ç ¿ô±ä´ëÇÐÀÇ ¿î¿µ¸ñÀûÀº "³²À» ÇູÇÏ°Ô ¸¸µé¾îÁÖ±â" ÀÔ´Ï´Ù. ¾Ç¼º´ä±Û, »óóÁÖ´Â ´ä±Û, À½¶õ ´ä±ÛÀ» ÀÛ¼ºÇÏÁö ¸»¾Æ ÁÖ¼¼¿ä.
¨è ³»°¡ ¿Ç´Ù°í ÇÏ´õ¶óµµ Á¶¿ëÈ÷ ½Å°í¸¸ ÇÏ½Ã°í »ó´ë¹æÀ» ºñ³­ÇÏ´Â ±ÛÀ» ¾²Áö´Â ¸¶¼¼¿ä. À̰÷Àº ¿Ç°í ±×¸§À» °¡¸®´Â °÷ÀÌ ¾Æ´Õ´Ï´Ù.
¨é Áö¼ÓÀûÀ¸·Î ºÐ¶õÀ» ÀÏÀ¸Å°´Â ȸ¿øÀº ¿Ç°í ±×¸§À» ¸··ÐÇϰí Á¤ÇРȤÀº Â÷´ÜÁ¶Ä¡µË´Ï´Ù.
¨ê Á¤Ä¡ ÀÚ·á, ³²³à ºÐ¶õ ÀÚ·á, Àú°Ý ÀÚ·á, ºÐ¶õ ¾ß±â °Ô½Ã¹°Àº °­·ÂÇÏ°Ô Á¦ÀçÇÕ´Ï´Ù. ÀÚ¼¼È÷º¸±â
¡ã ´ÙÀ½±Û ¾¾¾ð¾î ¹è¿­Áú¹®ÀÔ´Ï´Ù ¤Ð¤Ð ¸ð»ý¸ð·¯ 2 0 1 1,525 2018-04-10 [10:08]
¡å ÀÌÀü±Û C++ ÀԷ¹ÞÀ»¶§ »óȲº°·Î ÀԷ ŰÀÛÀ¸¸é±Í¿±ÀÝ¾Æ 0 0 5 175 2018-04-09 [14:48]
¸ñ·Ï
Áú¹®¿¡´äº¯Çϱâ
URL º¹»ç
½ºÅ©·¦
¸ÇÀ§·Î

¡ç CTRL+C ·Î º¹»çÇϰí CTRL+V ·Î ºÙ¿©³ÖÀ¸¼¼¿ä!