>data;btroot->lchild=btroot->rchild=NULL;addQueueCTree(VisitedCTreeNodes,ctroot);//树的根结点入队addQueueBTree(VisitedBTreeNodes,btroot);while(!QueueCTreeEmpty(VisitedCTreeNodes)){ctnode=delQueueCTree(VisitedCTreeNodes);btnode=delQueueBTree(VisitedBTreeNodes);for(i=0;i<DEGREE;i++)//访问结点所有的孩子结点{if(ctnode->children[i]==NULL)break;p=(BTreeNode*)malloc(sizeof(BTreeNode));p->data=ctnode->children[i]->data;p->lchild=p->rchild=NULL;if(i==0)btnode->lchild=p;elseLastSibling->rchild=p;LastSibling=p;addQueueCTree(VisitedCTreeNodes,ctnode->children[i]);addQueueBTree(VisitedBTreeNodes,p);}}}2.4程序流程图程序的第一步是建立树,即数的结构体的建立,然后进行树的先序遍历,用递归方法,先遍历根结点,依次先序遍历孩子结点,输入树的结点数量,孩子结点及其父亲结点的数据,建立树队列,二叉树队列,采用结构体指针数组,存放结点的地址,完成树队列以及二叉树队列的初始化、入队、判空、出队等操作,利用VoidTreeToBTree(CTreeNode*ctroot,BTreeNode*&btroot)函数树转化为二叉树,然后进行二叉树的先序遍历,