C語言實現構建二叉樹

2021-07-29 23:38:47 字數 1192 閱讀 1028

#include #include #include typedef int elemtype;

typedef struct btreebt,*b_tree;

/** 增加新節點

*@brief insert_node

*@param root

*@param nodevalue

*@return

*/b_tree insert_node(b_tree root, elemtype nodevalue)

while(currentnode!=null)

if(parentnode->data>nodevalue)

parentnode->leftchild=newnode;

else

parentnode->rightchild=newnode;

return root;

}/** 建立二叉樹

*@brief create_btree

*@param nodevalue

*@return

*/b_tree create_btree( b_tree root,int nodevalue)

return root;

}/** 前序遍歷二叉樹:先遍歷根結點,再遍歷左子樹,最後才遍歷右子樹

*@brief preprint

*@param root

*/void preprint(b_tree root)

}/** 中序遍歷二叉樹:先遍歷左子樹,再遍歷根結點,最後才遍歷右子樹

*@brief midprint

*@param root

*/void midprint(b_tree root)

}/** 後序遍歷二叉樹:先遍歷左子樹,再遍歷右子樹,最後遍歷根結點

*@brief lastprint

*@param root

*/void lastprint(b_tree root)

}void main()

b_tree root;

root=(b_tree)malloc(sizeof(bt));

if(root!=null)

// preprint(root);

// midprint(root);

lastprint(root);

}

C語言實現二叉樹

1.c語言實現二叉樹中節點間最大距離 includetypedef struct treenode treenode 我們可以將所有的結點的左右子樹的高度和計算一下,然後取出最大值,就是最遠的距離。int getmaxdistance treenode root,int maxdistance in...

二叉樹(C語言實現)

以下為用c語言實現的二叉排序樹,包含了樹的建立,銷毀,新增,刪除,修改,前 中 後 層序遍歷,深度,密度。include include include define type int typedef struct node node 建立結點 node creat node type data 新...

重建二叉樹 C語言實現

主要根據程式設計之美中利用前序與中序遍歷實現二叉樹的重構。其中對於前序遍歷中的每乙個節點都是當前子樹的根節點這一理論來對中序遍歷進行劃分。並且也實現了根據中序遍歷與後序遍歷實現二叉樹的重構,其中對於後序遍歷主要要注意其中後序遍歷的最後乙個元素表示的是根節點這一思想來實現。其中對於利用前序遍歷與中序遍...