首页 > 代码库 > AVL树的实现

AVL树的实现

//avl_tree.h
#include <stack>
using std::stack;

template <typename T>
class AVL_TREE
{
public:
	AVL_TREE(){
		nil = new AVL_NODE(0, -1, NULL, NULL);
		tree_root = nil;
	}
	bool find(const T &val) const;
	void insert(const T &val);
	void del(const T &val);//惰性删除

	typedef struct tagAVL_NODE
	{
		bool exist;
		T data;
		int height;
		struct tagAVL_NODE *left, *right;
		tagAVL_NODE(const T &val, int wg, tagAVL_NODE *cl, tagAVL_NODE *cr){
			data = http://www.mamicode.com/val;>

AVL树的实现