资源简介

函数填空:层次遍历多元树(在文件tree.cpp中3个空)、先根遍历、后根遍历的递归函数(在文件tree.h中2个空);

资源截图

代码片段和文件信息

// tree.cpp : Defines the entry point for the console application.
//

#include “tree.h“
#include “queue.h“
#include 

void hierarchical(TreeNode* t)
// 层次遍历以结点t为根的多元树
{
SeqQueue myqueue; // 队列对象
if (t==NULL) return;
myqueue.QInsert(t); // 把根插入队列
while(myqueue.QueueEmpty()== 0  /* 输入判断条件 */ ) // 队列非空
{
TreeNode *p=myqueue.QDelete(); //取出队首结点
cout<data<<“  “; //访问该结点
p= p->FirstChild();/* 输入表达式 */  //先找大儿子(左儿)
if (p!=NULL) myqueue.QInsert(p); // 大儿子入队
while (p!=NULL) // 把大儿子的右兄弟依次入队
{
p= p->NextSibling();/* 输入表达式 */
if (p!=NULL) myqueue.QInsert(p);
}
}
}


void main(void)
{
//指定的树
cout<<“下面是实验指定的树“< Treet;
t.InsertChild(‘A‘);
for(int i=0;i<3;i++)
{
t.Root();
t.InsertChild(‘B‘+i);//插入B、C和D
}

t.Root();//插入E
t.FirstChild();
t.InsertChild(‘E‘);

for(i=0;i<2;i++)//插入F和G
{
t.Root();
t.FirstChild();
t.NextSibling();
t.InsertChild(‘F‘+i);
}

t.Root();//插入H
t.FirstChild();
t.NextSibling();
t.NextSibling();
t.InsertChild(‘H‘);

    TreeNode* troot=t.TreeRoot();  
//层次遍历的指针是指向结点,而不是指向树
cout<<“层次遍历:“< hierarchical(troot);
cout< t.DisplayTree();
cout< t.DisplayTree2();


    //自己的树
cout< Treet1;
t1.InsertChild(‘A‘);

t1.Root();
t1.InsertChild(‘B‘);//插入B

for(i=0;i<2;i++)
{
t1.Root();//插入C和D
t1.FirstChild();
t1.InsertChild(‘C‘+i);
}

for(i=0;i<3;i++)//插入E、F和G
{
t1.Root();
t1.FirstChild();
t1.FirstChild();
t1.InsertChild(‘E‘+i);
}

    TreeNode* troot1=t1.TreeRoot();  
   //层次遍历的指针是指向结点,而不是指向树
cout<<“层次遍历:“< hierarchical(troot1);
cout< t1.DisplayTree();
cout< t1.DisplayTree2();
cout< system(“pause“);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1060  2002-04-15 11:23  1\Queue.h

     文件       2091  2010-05-23 16:28  1\tree.cpp

     文件     217171  2010-05-23 14:21  1\tree.exe

     文件       5603  2010-05-23 13:57  1\tree.h

     目录          0  2010-05-23 16:41  1

----------- ---------  ---------- -----  ----

               225925                    5


评论

共有 条评论

相关资源