예제 #1
0
파일: main.cpp 프로젝트: CCJY/coliru
 void visit(tag& t) {
   switch (t.tagType) {
   case 0: visit0(t); break;
   case 1: visit1(t); break;
   default:;
   }
 }
예제 #2
0
//	中序遍历二叉树,非递归
void InOrderTraverse(BiTree T)
{
	BiTree p;
	p = T->lchild;

	while(p != T)
	{
		while(p->ltag == Link)
		{
			p = p->lchild;
		}	// 每次找到最先输出的字符
		visit0(p->data);
		while(p->rtag == Thread && p->rchild != T)
		{
			p = p->rchild;	//	每次从叶子结点去找到下一个需要输出的位置
			visit0(p->data);
		}

		p = p->rchild;
	}
	printf("\n");
}