2. n个整数保存在数组A中,试设计一个函数void MoveNumbers(int A[],int n),要求在O(n)时间内,将所有的正数移到负数之前。并且要求除数组A以外,只能使用若干个简单变量。
3. 在单链表类SingleList中增加一个成员函数Reverse( ),其功能是将头指针first指向的单链表逆置。若原链表为空,则返回false,否则返回true。模板结点类Node的定义如下: template <class T> class Node { T data; Node<T> *link; Friend class SingleList<T> }; 函数原型为: template <class T> bool SingleList<T>::Reverse( )
4. 在以二叉链表表示的二叉树类BinaryTree中增加一个成员函数LeavesInTree( )。该模板函数为递归函数,其功能是求二叉树类BinaryTree的对象中叶子结点的数目。实现该递归函数。函数原型如下: template <class T> int BinaryTree<T>::LeavesInTree( )
5. 在二叉搜索树类BSTree中增加一个成员函数DeleteMin ( )。该模板函数的功能删除二叉搜索树BSTree类的对象中元素值最小的结点。被删除的元素值通过引用参数e返回。如果二叉搜索树为空,无法删除则返回false,否则返回true.。实现该模板函数。函数原型如下: template <class T> bool BSTree<T>::DeleteMin (T & e);
6. 在带表头结点的单链表上实现简单选择排序。first是头指针,模板结点类Node的定义如下: template <class T> class Node { T data; Node<T> *link; Friend class SingleList<T> }; template <class T> void SingleList<T>::SelectSort( );
谁是高手啊!
可以不可以提点建议,这么多问题,是不是应当自己来学着解决呢?自己都不愿意做,别人会愿意吗