bool Node::isChildNode(Node *node) { for (Node *cnode = getChildNodes(); cnode != NULL; cnode = cnode->next()) { if (isChildNode(cnode, node) == true) return true; } return false; }
bool isChildNode(dTree* rootNode, dTree* childNode) { if(rootNode == NULL || childNode == NULL) { return false; } bool ischild = false; if(rootNode->value == childNode->value) ischild = checkRestNode(rootNode->pleft, childNode->pleft) && checkRestNode(rootNode->pright, childNode->pright); if(!ischild) ischild = isChildNode(rootNode->pleft, childNode); if(!ischild) ischild = isChildNode(rootNode->pright, childNode); return ischild; }
int FPNode::numCon( bool includeParentItem, bool includeHiddenConnectors ) const { unsigned count = 0; FlowConnectorList connectors = m_inFlowConnList; if ( m_outputConnector ) connectors.append ( m_outputConnector ); FlowConnectorList::const_iterator end = connectors.end(); for ( FlowConnectorList::const_iterator it = connectors.begin(); it != end; ++it ) { if ( *it && ( includeHiddenConnectors || ( *it )->canvas() ) ) count++; } if ( isChildNode() && includeParentItem ) count++; return count; }
bool FPNode::handleNewConnector( Connector * connector ) { if (!connector) return false; // FIXME dynamic_cast connector if ( m_inFlowConnList.contains(dynamic_cast<FlowConnector *> (connector) ) || ((Connector*)m_outputConnector == connector) ) { kWarning() << k_funcinfo << " Already have connector = " << connector << endl; return false; } connect( this, SIGNAL(removed(Node*)), connector, SLOT(removeConnector(Node*)) ); connect( connector, SIGNAL(removed(Connector*)), this, SLOT(checkForRemoval(Connector*)) ); connect( connector, SIGNAL(selected(bool)), this, SLOT(setNodeSelected(bool)) ); if ( !isChildNode() ) p_icnDocument->slotRequestAssignNG(); return true; }
int main() { int svalue = 0; dTree* rootnode = makeTree(svalue, 5); printTree(rootnode); printf("\n"); svalue = 13; dTree* childnode = makeTree(svalue, 2); /* dTree childnode; dTree childnode1; dTree childnode2; childnode.value = 2; childnode1.value = 3; childnode2.value = 6; childnode.pleft = &childnode1; childnode.pright = &childnode2; childnode1.pleft = NULL; childnode1.pright = NULL; childnode2.pleft = NULL; childnode2.pright = NULL; */ printTree(childnode); printf("\n"); if(isChildNode(rootnode, childnode)) printf("is child node!\n"); else printf("is not child node!\n"); printTree(rootnode, true); printf("\n"); std::string test; std::string base = "111"; test = "/" + base + "aa"; printf("test:%s\n", test.c_str()); return 0; }