diff options
Diffstat (limited to 'tree/src/cNode.cpp')
-rw-r--r-- | tree/src/cNode.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/tree/src/cNode.cpp b/tree/src/cNode.cpp index c8035f8..3b4eb19 100644 --- a/tree/src/cNode.cpp +++ b/tree/src/cNode.cpp @@ -9,6 +9,11 @@ cNode::cNode() {} cNode::~cNode(){} +bool cNode::isEndnode() +{ + return false; +} + // //===================================================================================================================== // @@ -44,7 +49,7 @@ void cDatanode::insert(cData* _data, cNode** _me) void cDatanode::insert(cNode* _data, cNode** _me) { - if( _data->getDataObject().isEmpty()) + if( _data->isEndnode()) return; //_data is endnode, return if (_data->getDataObject() > *data) @@ -145,10 +150,8 @@ cNode *cDatanode::getFirstNode(cNode** _me) { cNode* ret = nextSmaller->getFirstNode(&nextSmaller); if(ret) //Pointer not empty, return ret - { return ret; - } - else //Pointer is empty, Return me + else //Pointer is empty, This is the last Object in branch { cNode* tmp = *_me; *_me = new cEndnode(); @@ -228,6 +231,11 @@ cNode *cEndnode::getFirstNode(cNode** _me){ return NULL; } +bool cEndnode::isEndnode() +{ + return true; +} + |