void preoder(struct node * root, struct node * nil, int level) { if(root == nil) return; else { for(int i=0;i<level;i++) printf("-"); printf("%d(%d)\n",root->data,root->color); preoder(root->lchild,nil,level+1); preoder(root->rchild,nil,level+1); } }
void Graph::Preorder(Node *ptr) { Node *temp = ptr; // To print the middle children if (ptr != NULL) return; else { while (temp != NULL) { cout << temp->getValue() << " "; temp = ptr->getMidNode(); } cout << ptr->getValue() << " "; preoder(ptr->getLeftNode()); proder(ptr->getRightNode()); } return; }