ÃßõµÇ¾ú½À´Ï´Ù.
|
´ÜÃà 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Ŭ·¡½ºÀÇ º¯¼ö¸¦ ¸øÃ£´Â´Ù°í ³ª¿Ã±î¿ä?
|
¡ã ´ÙÀ½±Û | ¾¾¾ð¾î ¹è¿Áú¹®ÀÔ´Ï´Ù ¤Ð¤Ð | ¸ð»ý¸ð·¯ |
![]() ![]() ![]() ![]() |
2018-04-10 [10:08] |
¡å ÀÌÀü±Û | C++ ÀԷ¹ÞÀ»¶§ »óȲº°·Î ÀÔ·Â | ŰÀÛÀ¸¸é±Í¿±ÀÝ¾Æ |
![]() ![]() ![]() ![]() |
2018-04-09 [14:48] |
![]() |
ÈÖ¹Ù¶÷¢â |
private
|
00 |
![]() ![]() ![]() ![]() |
2018-04-09 |
![]() |
![]() °í¿î¸»»ç¿ëÀÚ |
Á¦°¡ ¾Æ´Â ¼±¿¡¼ private¶§¹®¿¡ »ý±ä ¿À·ù´Â Parent ÀÇ private ¸â¹ö¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù ÀÌ·± ¿À·ù°¡ ¶°¾ßµÇ´Â °ÍÀ¸·Î ¾Ë°í Àִµ¥¿ä. Á¦ Äڵ忡¼´Â root ¼±¾ðÇÏ´Â ºÎºÐÀ» private¿¡¼ protected³ª publicÀ¸·Î ¹Ù²Ù¾îµµ µ¿ÀÏÇÑ ¿À·ù°¡ ¶ß³×¿ä ¤Ì¤Ì
|
00 |
![]() ![]() ![]() |
2018-04-09 |
![]() |
![]() °í¿î¸»»ç¿ëÀÚ |
https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=299014477 thisÆ÷ÀÎÅ͸¦ »ç¿ëÇÏÁö ¾Ê¾Æ¼ »ý±ä ÀÏÀ̾ú³×¿ä. ´äº¯°¨»çÇÕ´Ï´Ù.
|
00 |
![]() ![]() ![]() |
2018-04-09 |
![]() |
![]() ÈÖ¹Ù¶÷¢â |
¿Í¿õ; Àúµµ óÀ½ ¾Ë¾Ò³×¿ä; vs¿¡¼´Â ±×³É µÇ¾ú´ø°É·Î ±â¾ïÇϴµ¥ ¤Ì¤Ì
|
00 |
![]() ![]() ![]() |
2018-04-11 |
![]() |
¾Æ·Ð´ÙÀ̵å |
ÃÎÀå´ÔÀ» º¸·Á¸é ÇÁ·Î±×·¡¹Ö ¿¡¼ º¼¼öÀÖ±º¿ä ¤¾¤¾
|
00 |
![]() ![]() ![]() ![]() |
2018-04-10 |
![]() |
![]() ÈÖ¹Ù¶÷¢â |
Àú ¬ÀÔ´Ï´Ù ¤Ì
|
00 |
![]() ![]() ![]() |
2018-04-11 |
¡ã ´ÙÀ½±Û | ¾¾¾ð¾î ¹è¿Áú¹®ÀÔ´Ï´Ù ¤Ð¤Ð | ¸ð»ý¸ð·¯ |
![]() ![]() ![]() ![]() |
2018-04-10 [10:08] |
¡å ÀÌÀü±Û | C++ ÀԷ¹ÞÀ»¶§ »óȲº°·Î ÀÔ·Â | ŰÀÛÀ¸¸é±Í¿±ÀÝ¾Æ |
![]() ![]() ![]() ![]() |
2018-04-09 [14:48] |