|
树
0.1
数据结构_第6章
|
文档
《数据结构:思想与实现(第2版)》(翁惠玉,俞勇) 第6章 树
注意:本章所有文件的编码都是UTF-8
./include: 头文件./src: 测试例程./doc: HTML和LATEX文档HTML文档打开方式:将./include文件夹加入IncludePath,编译./src文件夹中的**单个**源文件。
g++编译并运行test0.ccfind_last_of,用于test0.ccC/C++调用DOS命令删除文件,用于test0.hhclock,用于test0.hhlocaltime,用于test0.hhbinaryTree.hhstruct的成员!否则无法使用列表初始化,除非定义构造函数。用于binaryTree.hh(braced-initializer-list)。
&& > ||,在g++编译选项开启-Wextra时,可能出现 ‘warning: suggest parentheses around ’&&' within '||'。详见gcc官方文档:[-Wparentheses](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#Warning-Options)二叉树遍历的非递归实现是[用堆栈消除递归的一般方法](https://www.codeproject.com/Articles/418776/How-to-replace-recursive-functions-using-stack-and)的简化情况。教材给出的方法可视作一般方法的简单情况,于是此方法统一了教材给出的递归消除方案。用于[binaryTree.hh`](include/binaryTree.hh)函数模板的特定实例作类模板的特定实例的友元:类模板内的友元声明是否可省略模板实参?binaryTree.hh
```cpp friend bool operator==</*T, Comparator*/>(const binaryTree /*<T, Comparator>*/ &lhs, const binaryTree /*<T, Comparator>*/ &rhs); friend void printBinaryTree</*T, Comparator*/>(const binaryTree /*<T, Comparator>*/ &bin_tree, const typename binaryTree /*<T, Comparator>*/ ::value_type &flag, std::ostream &out); ```
std::move()的后果:实参变右值,语句执行完毕后被析构,变成**过期对象**。BinNode *root_