正在加载图片...
二叉树的ADT template <class Type>class binaryTree public: Binary tree(): root( NULL) //构造空二叉树 Binary tree( const Type value i root new Binary Node<Type>( value); I Binarytree() DelTree( root): I int isEmpty()const return root = NULL, /二叉树为空,返回非0,否则为0 const binary Node<T ype>* Getroot( )consti return root int MakeEmpty(){ Deltree(root);root=NUL;}/使二叉树为空。 const Binary Tree<Type>& operator=( const Binary Tree<Type>& T) private: Binary Node<type〉*root;//二叉树的根结点。 Binary tree( const Binary Tree<Type>&) void deltree( binaryNode <Type>*T) template <class Type> const BinaryTree<Type>& BinaryTree<Type>:: operator =(const Binary tree<type>&t) f( this! =&T) De ltree(root);//其具体实现,见程序5.1。 if T root =NULL )root = T. root->Duplicate()二叉树的ADT template <class Type> class BinaryTree { public: BinaryTree( ) : root( NULL) { } // 构造空二叉树 BinaryTree ( const Type & value ) { root = new BinaryNode<Type> ( value ); } ~BinaryTree ( ) { DelTree ( root ); } int IsEmpty ( ) const { return root == NULL; } // 二叉树为空,返回非0,否则为0。 const BinaryNode<Type> * Getroot( )const { return root; } int MakeEmpty ( ) { DelTree( root); root == NULL; } // 使二叉树为空。 const BinaryTree<Type> & operator = ( const BinaryTree<Type> & T); private: BinaryNode<Type> * root; // 二叉树的根结点。 BinaryTree( const BinaryTree<Type> & ); void DelTree( BinaryNode<Type> * T ); }; template <class Type> const BinaryTree<Type> & BinaryTree<Type> :: operator = ( const BinaryTree<Type> & T ) { if ( this != &T ) { DelTree(root); // 其具体实现,见程序5.1。 if ( T.root != NULL ) root = T.root->Duplicate( ); } }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有