コード例 #1
0
ファイル: 61.cpp プロジェクト: 253627764/algorithm
    void Inorder(TreeNode* pRoot,vector<TreeNode*>& vec)
    {
        if(pRoot==NULL) return;
        Inorder(pRoot->left,vec);
        vec.push_back(pRoot);
        Inorder(pRoot->right,vec);
    }
コード例 #2
0
ファイル: solution.cpp プロジェクト: RominYue/leetcode
 void Inorder(TreeNode* root, vector<int>& nums)
 {
     if(root == NULL)return;
     Inorder(root->left, nums);
     nums.push_back(root->val);
     Inorder(root->right, nums);
 }
コード例 #3
0
int main()
{
        treeNode *root = NULL;
        root = Insert(root, 5);
        root = Insert(root, -1);
        root = Insert(root, 3);
        root = Insert(root, -14);
        root = Insert(root, 8);
        root = Insert(root, 10);
        root = Insert(root, 9);
        root = Insert(root, 6);

        printf("\nBefore Deletion BST in Inorder traversal\n ");
        Inorder(root);
        printf("\n\n");
        root = Delete(root,5);
        root = Delete(root,-1);

        printf("After Deletion BST\n");
        printf("\nInorder traversal\n");
        Inorder(root);
        printf("\nPreorder traversal\n");
        Preorder(root);
        printf("\nPostorder traversal\n");
        Postorder(root);

}
コード例 #4
0
//Function to visit nodes in Inorder
void Inorder(struct Node *root) {
	if(root == NULL) return;

	Inorder(root->left);       //Visit left subtree
	printf("%d ",root->data);  //Print data
	Inorder(root->right);      // Visit right subtree
}
コード例 #5
0
ファイル: TreeInorder.cpp プロジェクト: gpuli/HackerRank
void Inorder(node *root) {
    if (root->left != NULL)
		Inorder(root->left);
	cout << root->data << " ";
    if (root->right != NULL)
		Inorder(root->right);
}
コード例 #6
0
void RBTree<T>::Inorder(T* root)
{
	if (root) {
	    Inorder(root->left);
	    root->Print();
	    Inorder(root->right);
	}
}
コード例 #7
0
ファイル: Tree.cpp プロジェクト: samyak3/Algorithms
void Inorder(btNode* pRoot)
{
	if(pRoot == NULL)
		return;
	Inorder(pRoot->left);
	cout<<pRoot->data<<"\t";
	Inorder(pRoot->right);
}
コード例 #8
0
ファイル: main.c プロジェクト: mhchia/practice
void Inorder(Tree *t)
{
    if (t != NULL) {
        Inorder(t->l);
        printf("%d ", t->data);
        Inorder(t->r);
    }
}
コード例 #9
0
void Inorder(node *root) {
    if(root==NULL)
        return;

    Inorder(root->left);  
    cout<<root->data<<" ";
    Inorder(root->right); 

}
コード例 #10
0
ファイル: AB_BAS1.C プロジェクト: h3nnn4n/main_ccs
/* Visita em Inorder */
   void Inorder(arv_bin * root )
   {
      if (root)
      {
         Inorder(root->left );
         printf("\n In-Ordem:: %s\t||\t %d" ,root->info, root->ordem);
         Inorder(root->right );
      }
   }
コード例 #11
0
void Inorder(node *root){
		if(root == NULL){
			return;
		}
		Inorder(root->left);
		printf("<%ld,%ld> ",root->data,root->height);
		Inorder(root->right);

}
コード例 #12
0
void Inorder(BSTNode * current)
{
    if(current!=NULL){

        Inorder(current->left);
        std::cout << current->id << " " ;
        Inorder(current->right);
    }
}
コード例 #13
0
//中序遍历(递归)
void Inorder(BiTree T)
{
    if(T)
    {
        Inorder(T->lch);
        printf("%c ",T->data);
        Inorder(T->rch);
    }
}
コード例 #14
0
ファイル: BinaryTree.cpp プロジェクト: SuiYu/Cpluspluswork
void BinaryTree::Inorder(Node* temp)
{
    if (temp!=NULL)
    {
        Inorder(temp->left);
        std::cout << temp->data << " ";
        Inorder(temp->right);
    }
}
コード例 #15
0
ファイル: AVL.cpp プロジェクト: 1130310223/lab4
void Inorder(AVLTree tree)
{
    if(tree != NULL)
    {
        Inorder(tree->left);
        printf("%d ", tree->value);
        Inorder(tree->right);
    }
}
コード例 #16
0
void Inorder(int *arr, int index)
{
  if(arr[index] == -1) {
    return ;
  }
  Inorder(arr, index*2 + 1);
  printf("%d ", arr[index]);
  Inorder(arr, index*2 + 2);
}
コード例 #17
0
void Inorder(treeNode *node)
{
        if (node == NULL) {
                return;
        }

        Inorder(node -> left);
        printf("%d ", node -> data);
        Inorder(node -> right);
}
コード例 #18
0
ファイル: creat_btree.c プロジェクト: Crabbit/c
//中序遍历 (递归)
void Inorder (struct BiNode *T)
{
     if(T) {
       Inorder(T->lch);
        
       printf(" %c",T->data);
        
       Inorder(T->rch);    
       }
} 
コード例 #19
0
ファイル: packing.c プロジェクト: Zawicki/ECE368
void Inorder(Node * arr, int ind)
{
	if ((&arr[ind]) -> lc != -1)
		Inorder(arr, (&arr[ind]) -> lc);
	
	printf("%d ", ind);

	if ((&arr[ind]) -> rc != -1)
		Inorder(arr, (&arr[ind]) -> rc);
}
コード例 #20
0
ファイル: test3.c プロジェクト: shishiruniyal/Algorithm
void Inorder(node *tree,node *root,node * nil){
		if(root == nil){
			return;
		}
		Inorder(tree,root->left,nil);

		printf("<data = %ld,count = %ld, color = %d, rank = %ld> ",root->data,root->count,root->black,Rank(root->data,tree,nil));

		Inorder(tree,root->right,nil);

}
コード例 #21
0
ファイル: binaryTree.c プロジェクト: rockamitk/DataStructures
	void Inorder(tree *root)
	{
		if(root)
		{
		Inorder(root->left);
		printf("  %d  ",root->data);
		Inorder(root->right);
		
		}
	return;
	}
コード例 #22
0
void Inorder(NODE *root)
{
	if(root->left_child!=NULL)
	{
		Inorder(root->left_child);
	}
	printf("%d ",root->data);
	if(root->right_child!=NULL)
	{
		Inorder(root->right_child);
	}
}
コード例 #23
0
ファイル: reroot.c プロジェクト: Zawicki/ECE368
void Inorder(Node * h)
{
	if (h == NULL)
		return;

	Inorder(h -> lc);
	if (h -> cut == 'V' || h -> cut == 'H')
		printf("%c", h -> cut);
	else
		printf("(%le,%le)", h -> width, h-> height);
	Inorder(h -> rc);
}
コード例 #24
0
ファイル: treeInOrder.cpp プロジェクト: engai/hackerrank
void Inorder(node *root) {

	//Check for end of tree
	if(root == NULL)
		return;

	//InOrder: left visit right
	Inorder(root->left);
	cout<<root->data<<" ";
	Inorder(root->right);


}
コード例 #25
0
void Inorder(nodeT *p, int level)
{

	int i;
	if (p != NULL)
	{
		Inorder(p->left, level + 1);
		for (i = 0; i <= level; i++)
			printf(" "); /* for nice listing */
		printf("%d\n", p->data);
		Inorder(p->right, level + 1);
	}

}
コード例 #26
0
int main() {
	/*Code To Test the logic
	  Creating an example tree
	                    5
			   / \
			  3   10
			 / \   \
			1   4   11
    */
	struct Node* root = NULL;
	root = Insert(root,5);
    root = Insert(root,10);
	root = Insert(root,3);
	root = Insert(root,4);
	root = Insert(root,1);
	root = Insert(root,11);

	// Deleting node with value 5, change this value to test other cases
	root = Delete(root,5);

	//Print Nodes in Inorder
	printf("Inorder: ");
	Inorder(root);
	printf("\n");
}
コード例 #27
0
void MAXIMUM_NODE_IN_TREE()
{
	char input[5][52] = {   
					  "1,$",
					  "2,4,1,$,-,3,$",
					  "1,2,$,-",
					  "1,3,$,2,$",
					  "14,1,4,2,$,6,$,10,8,$,12,$,13,3,15,$,5,$,9,7,$,11,$"
					 };
	int expected_output[6] = {1,4,2,3,15};
	int iter_loop, index;
	for(iter_loop=0;iter_loop<5;iter_loop++)
	{
		NODE *root = (NODE*)malloc(sizeof(NODE));
		index = next_element_in_string(input[iter_loop],0);
		root->data = create_number(input[iter_loop],index);
		index = next_element_in_string(input[iter_loop],index);
		construct_tree(root,input[iter_loop],index);
		
		int previous_value = root->data;
		Inorder(root,&previous_value);
		(expected_output[iter_loop]==previous_value)?printf("ACCEPTED\n"):printf("REJECTED\n");
		delete_tree(root);
	}
}
コード例 #28
0
ファイル: creat_btree.c プロジェクト: Crabbit/c
int main()
{
    //建树 
    struct BiNode *T,*root;
    T = root;
    printf("The fuction Create() is called.\n");
    Create(T);
     
    //三种遍历递归算法 
    printf("\n");    
    printf("The fuction Preorder() is called.\n");
    Preorder(root);
     
    printf("\n");
    printf("The fuction Inorder() is called.\n");
    Inorder(root);
     
    printf("\n");
    printf("The fuction Postorder() is called.\n");
    Postorder(root);
     
     
    printf("\n");

    return 0;
}
コード例 #29
0
void Inorder(NODE *root, int *previous_value)
{
	if(root->left!=NULL)
	{
		Inorder(root->left,previous_value);
	}

	if(*previous_value<root->data)
	{
		*previous_value = root->data;
	}

	if(root->right!=NULL)
	{
		Inorder(root->right,previous_value);
		
	}
}
コード例 #30
0
ファイル: 61.cpp プロジェクト: 253627764/algorithm
    TreeNode* KthNode(TreeNode* pRoot, unsigned int k)
    {
        if(pRoot==NULL||k<=0) return NULL;
        vector<TreeNode*> vec;
        Inorder(pRoot,vec);
        if(k>vec.size())
            return NULL;
        return vec[k-1];
    }