2011年软考程序员考试复习笔试知识点整理(20)

来源:软件水平考试    发布时间:2012-11-05    软件水平考试视频    评论

  //Throws UnderflowException as warranted

  template

  classAvlTree

  {

  public:

  AvlTree( ) : root( NULL ) { }

  AvlTree( const AvlTree & rhs ) : root(NULL )

  {

  *this = rhs;

  }

  ~AvlTree( )

  {

  makeEmpty( );

  }

  /**

  * Find the smallest item in the tree.

  * Throw UnderflowException if empty.

  */

  const Comparable & findMin( ) const

  {

  if( isEmpty( ) )

  throw UnderflowException( );

  return findMin( root )->element;

  }

  /**

  * Find the largest item in the tree.

  * Throw UnderflowException if empty.

  */

  const Comparable & findMax( ) const

  {

  if( isEmpty( ) )

  throw UnderflowException( );

  return findMax( root )->element;

  }

  /**

  * Returns true if x is found in the tree.

  */

  bool contains( const Comparable & x )const

  {

  return contains( x, root );

  }

  /**

  * Test if the tree is logically empty.

  * Return true if empty, false otherwise.

  */

  bool isEmpty( ) const

  {

  return root == NULL;

  }

  /**

  * Print the tree contents in sorted order.

  */

  void printTree( ) const

  {

  if( isEmpty( ) )

  cout << "Emptytree" << endl;

  else

  printTree( root );

  }

  /**

  * Make the tree logically empty.

  */

  void makeEmpty( )

  {

  makeEmpty( root );

  }

  /**

  * Insert x into the tree; duplicates areignored.

  */

  void insert( const Comparable & x )

  {

  insert( x, root );

  }

  /**

  * Remove x from the tree. Nothing is doneif x is not found.

  */

  void remove( const Comparable & x )

  {

  cout << "Sorry, removeunimplemented; " << x <<

  " still present"<< endl;

  }

  /**

  * Deep copy.

  */

  const AvlTree & operator=( constAvlTree & rhs )

  {

  if( this != &rhs )

  {

  makeEmpty( );

  root = clone( rhs.root );

  }

  return *this;

  }

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答