习题6.18

来源:互联网 发布:电子地图基本数据信息 编辑:程序博客网 时间:2024/04/28 13:48
 
//6.18 打印所有祖先结点void printances (BiTree T,char x){int i = 0 ;BiTree array[20] ,bt ,pre ;bt = T ;pre = null ;while (i >0 || bt != null){if (bt != null){array[++i] = bt ;bt = bt -> lchild ;}else{bt = array[i] ;if (bt -> rchild != NULL && bt-> rchild != pre)bt = bt -> rchild;else{pre = array[i];if (bt -> data == x)break ;i-- ;bt = NULL;}}}cout << x <<"的祖先是"<<" " <<endl;for (int j = i ; j > 0 ; j--){cout << array[j] -> data << " " ;}cout <<endl ;}