0001 template <typename T> template <typename VST> //元素类型、操作器 0002 void BinNode<T>::travPre ( VST& visit ) { //二叉树先序遍历算法统一入口 0003 switch ( rand() % 3 ) { //此处暂随机选择以做测试,共三种选择 0004 case 1: travPre_I1 ( this, visit ); break; //迭代版#1 0005 case 2: travPre_I2 ( this, visit ); break; //迭代版#2 0006 default: travPre_R ( this, visit ); break; //递归版 0007 } 0008 }