Exemple #1
0
void main() {
	struct treenode *root = newnode(7);
	root->left = newnode(5);
	root->left->right = newnode(4);
	root->left->left = newnode(3);
	root->right = newnode(8);
	root->right->left = newnode(9);
	root->right->right= newnode(6);
	int depth = treedepth(root);
	
	// define path
	int path[depth];
	memset(path, 0, sizeof(int)*depth);

	//printf("Depth is %d", treedepth(root));

	printpathk(root, 17, path, 0);

}
 int main()
 	{
 		Bitree root;
 		creat(&root);
		 initstack();	
 		preorder(root);
 		printf("\n");
 		printf("%d\n\n",Two);
 		output(root);
 		printf("\n");
 		tree(root,1);
 		change(root);
 		preorder(root);
 		printf("\n");
		int depth=treedepth(root);
		char ph[depth];
		path(root,ph,depth);
		print(root,1);
		int leaf=leafnum(root);
		printf("%d",leaf);
 		
	 }
Exemple #3
0
int treedepth(struct treenode *root) {
	if(root == NULL) {
		return 0;
	}
	return 1 + MAX(treedepth(root->left), treedepth(root->right));
}