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 }