二叉树储存结构及操作的定义

/*

 * tree.h

 *

 *  Created on: 2010-11-12

 *      Author: Jenson

 */

#ifndef TREE_H_

#define TREE_H_

typedef int item_type;

typedef struct _treenode_ *btree;

#define MAX_SIZE 100

#define MAX_WIDTH 4

struct _treenode_{

    item_type data;

    btree lchild;

    btree rchild;

};

extern btree bt_create( char* str);

extern int bt_height(btree);

extern int bt_leaf_count(btree);

extern int bt_node_count(btree);

extern int bt_copy(btree desc,btree src);

void bt_all_path(btree,item_type[],int);

void bt_level_num(btree,int a[],int h);

extern int bt_width(btree);

extern void bt_traverse(btree);

extern void bt_traverse_l(btree);

extern void bt_pre_order_traverse(btree);

extern void bt_mid_order_traverse(btree);

extern void bt_post_order_traverse(btree);

extern void bt_traverse_by_level(btree);

#endif /* TREE_H_ */

点赞