/* * This function is used to print the tree starting at * subtreeNode * * @param subtreeNode node to start printing from * @return N/A */ void printNodeTree(RBTNode *subtreeNode) { char tempString[100]; char colorString[6]; if (subtreeNode != NULL) { printNodeTree(subtreeNode->leftChild); if (subtreeNode->color == RED) { sprintf_s(colorString, sizeof(colorString), "RED"); } else { sprintf_s(colorString, sizeof(colorString), "BLACK"); } sprintf_s(tempString, sizeof(tempString), "Node: color: %s key: %d\n", colorString, subtreeNode->key); printf("%s", tempString); printNodeTree(subtreeNode->rightChild); } }
void printNodeTree(TObjArray *nodeList, Int_t level) { TIter nextNode(nodeList); TGeoNode *node; while( (node=(TGeoNode *)nextNode())!=NULL ) { for(int k=0;k<level;k++) cerr << "\t"; cerr << node->GetVolume()->GetName() << endl; printNodeTree(node->GetNodes(),level+1); } }