void printTreeInOrder(node *root) { if (root == NULL) return; printTreeInOrder(root->left); printf("%d ",root->data); printTreeInOrder(root->right); }
void main() { node* swapNode1 = NULL; node* swapNode2 = NULL; node* prev = NULL; // case when 2 nodes are adjacent node* root1 = newNode(7); root1->left = newNode(5); root1->right = newNode(20); root1->left->left = newNode(3); root1->left->right = newNode(8); root1->right->left = newNode(15); root1->right->left->left = newNode(10); root1->right->right = newNode(25); swapNode(root1,&prev,&swapNode1,&swapNode2); printTreeInOrder(root1); printf("\n"); swapValue(swapNode1,swapNode2); printTreeInOrder(root1); printf("\n"); //printTreePreOrder(root2); //printf("\n"); }
void Bin_STree::printTreeInOrder(const Node* nodePtr) { if(nodePtr != NULL) { printTreeInOrder( nodePtr->left() ); //printf("|%21s |%18d |",nodePtr->getWord(),nodePtr->getWordCount()); std::cout << "|" << std::setw(21) << nodePtr->getWord(); std::cout << " |" << std::setw(19) << nodePtr->getWordCount() << " | "; for( int i = 0; i < nodePtr->getLineNums().size(); ++i) { if(i < nodePtr->getLineNums().size() - 1 ) std::cout << nodePtr->getLineNums()[i] << ", "; else std::cout << nodePtr->getLineNums()[i]; if(i != 0) { if( i % 10 == 0) { if( i != nodePtr->getLineNums().size() - 1) { std::cout << std::endl << "|" << std::setw(22) << " "; std::cout << "|" << std::setw(22) << " | "; } } } } std::cout << std::endl; printTreeInOrder( nodePtr->right() ); } }