//中序遍历树 void InOrderTraversal(AvlTree tree) { if (tree == NULL) return; InOrderTraversal(tree->left); VisitElement(tree); InOrderTraversal(tree->right); }
void InOrderTraversal(const Node* root, std::vector<int>& buff) { if (root != nullptr) { InOrderTraversal(root->left, buff); buff.push_back(root->value); InOrderTraversal(root->right, buff); } }
void InOrderTraversal(TNode* root){ if(!root){ return; } InOrderTraversal(root->left); printf("%c <--> ",root->data); InOrderTraversal(root->right); }
void InOrderTraversal(TreeNode * root) { if(root) { InOrderTraversal(root->Left); std::cout << " " << root->Key<< " " ; InOrderTraversal(root->Right); } }
void InOrderTraversal(struct TreeNode *root, struct BSTIterator* i) { if (root == NULL) return; InOrderTraversal(root -> left, i); Push(root -> val, i); InOrderTraversal(root -> right, i); }
//This function traverses the tree inorderly and prints the tree to a file and also to the screen void InOrderTraversal( TreeNode *rootNode){ if( rootNode != NULL){ FILE *fp; fp = fopen("shakespeare-word","a"); InOrderTraversal(rootNode->left); fprintf(fp,"\t%-20s\t%-10d\n", rootNode->word, rootNode->count ); printf("\t%-20s\t%-10d\n", rootNode->word, rootNode->count ); InOrderTraversal( rootNode->right); fclose(fp); free; } }
void BTree::Print(OrderType Order) const { if(Order ==InOrder) { std::cout << " InOrder" << std::endl; InOrderTraversal(root); std::cout << std::endl; } else if(Order == PostOrder) { std::cout << " PostOrder" << std::endl; PostOrderTraversal(root); std::cout << std::endl; } else if(Order == PreOrder) { std::cout << " PreOrder" << std::endl; PreOrderTraversal(root); std::cout << std::endl; } else if(Order == LevelOrder) { std::cout << " LevelOrder" << std::endl; LevelOrderTraversal(root); std::cout << std::endl; } }
struct BSTIterator *bstIteratorCreate(struct TreeNode *root) { struct BSTIterator* i = malloc(sizeof(struct BSTIterator)); i -> next = malloc(SIZE * sizeof(int)); i -> size = 0; i -> capacity = SIZE; i -> front = 0; InOrderTraversal(root, i); return i; }
void TestCreateTree(const std::vector<int>& testVector) { Node* tree = CreateTree(testVector.begin(), testVector.end()); std::vector<int> traversedVector; InOrderTraversal(tree, traversedVector); CHECK_EQUAL(traversedVector, testVector); // CHECK_EQUAL(CheckBalanced(tree), true); int minimalHeight = testVector.size() == 0? 0 : floor(std::log2(testVector.size())) + 1; CHECK_EQUAL(MaxDepth(tree), minimalHeight); DeleteTree(tree); }
VOID InOrderTraversal(ULONG_PTR pNode) { HRESULT hRes=S_OK; PULONG pOffset=NULL; BYTE* pBuffer=NULL; ULONG ulData=0; ULONG ulLeft=0; ULONG ulRight=0; if(CheckControlC()==TRUE) { dprintf ("Control C hit, canceling command\n" ); return; } if(!pNode) { return; } if(FAILED(hRes=GetNodeValues(pNode, &ulData, &ulLeft, &ulRight))) { return; } if(ulLeft) { InOrderTraversal(ulLeft); delete[] pBuffer; } PrintNode(ulLeft, ulData, ulRight); if(ulRight) { InOrderTraversal(ulRight); delete[] pBuffer; } }
int main(){ char exp[20]; printf("\nEnter the expression : "); scanf("%s",exp); TNode* root=CreateExpressionTree(exp); printf("\nExpression Tree Created\n"); getch(); printf("\nPress enter to do inorder traversal... "); getch(); InOrderTraversal(root); getch(); return 0; }
HRESULT CALLBACK dumptree(PDEBUG_CLIENT pClient, PCSTR szArgs) { HRESULT hRes=S_OK; ULONG_PTR pAddress=(ULONG_PTR) GetExpression(szArgs); if(!pAddress) { dprintf("Invalid head pointer address specified: %s\n", szArgs); return E_FAIL; } InOrderTraversal(pAddress); return hRes; }
int main() { TBSTree tree = NULL; tree = Insert(4, tree); tree = Insert(2, tree); tree = Insert(1, tree); tree = Insert(6, tree); tree = Insert(5, tree); tree = Insert(7, tree); puts("Address\tElement"); InOrderTraversal(tree); puts("I will delete 5, 6, 2, 4"); printf("positon\telem\tleft\tright\n"); TBSTree p = Find(5, tree); printf("%p\t%d\t%p\t%p\n", p, p->elem, p->left, p->right); tree = Delete(5, NULL, tree); p = Find(6, tree); printf("%p\t%d\t%p\t%p\n", p, p->elem, p->left, p->right); tree = Delete(6, NULL, tree); p = Find(7, tree); printf("%p\t%d\t%p\t%p\n", p, p->elem, p->left, p->right); tree = Delete(2, NULL, tree); p = Find(1, tree); printf("%p\t%d\t%p\t%p\n", p, p->elem, p->left, p->right); tree = Delete(4, NULL, tree); p = Find(7, tree); printf("%p\t%d\t%p\t%p\n", p, p->elem, p->left, p->right); exit(EXIT_SUCCESS); }
int main(void){ //This declaration initialises the output file discarding all its content if it exist FILE *fp; fp = fopen("shakespeare-word","a"); TreeNode *root; char word[50]; int ch; root = NULL; //Reads input and store in binary tree until end of file is read while( ( ch = getc(stdin)) != EOF){ ungetc(ch, stdin); scanf("%s",word); NewNode( &root, word); } InOrderTraversal(root); fclose(fp); free; return 0; }