资源简介

树形结构作为数据结构这门课中的一个重点知识,在实际生活的应用也是十分广阔的。就比如经常接触的Windows系统中文件就是用的树形结构,因此用树形结构来模拟Windows中的文件管理是十分必要的。该代码也是vs2017中运行的,仅供参考,加深对树形结构的理解。

资源截图

代码片段和文件信息

#include 
#include 
using namespace std;
#include “ThreadTree.h“
template
void PrintItem(ThreadNode *p)
//输出item
{
cout << p->data << “ “;
}
template
ThreadNode * MakeThTreeNode(const T item ThreadNode *left = NULL ThreadNode *right = NULL)
//由结点构造二叉树
{
ThreadNode *p;
p = new ThreadNode(item left right);
return p;
}
ThreadNode* MakeThCharTree()
//创建不带头结点的二叉链表
{
ThreadNode *b *c *d *e *f *g *null = NULL *root;
g = MakeThTreeNode(‘G‘);
d = MakeThTreeNode(‘D‘ null g);
b = MakeThTreeNode(‘B‘ d);
e = MakeThTreeNode(‘E‘);
f = MakeThTreeNode(‘F‘);
c = MakeThTreeNode(‘C‘ e f);
root = MakeThTreeNode(‘A‘ b c);
return root;
}

int main()
{
ThreadTree InTree;
//1、构造中序线索二叉树(没有建立线索)
InTree.setRoot(MakeThCharTree());
//2、建立中序线索
InTree.createInThread();
//3、输出中序线索二叉树的中序、前序、后序遍历序列
cout << “中序线索二叉树的正向中序遍历序列为:“;
InTree.Inorder(PrintItem);
cout << “\n中序线索二叉树的正向前序遍历序列为:“;
InTree.Preorder(PrintItem);
cout << “\n中序线索二叉树的正向后序遍历序列为:“;
InTree.Postorder(PrintItem);
//4、按照二叉树中序遍历的顺序依次删除各个结点
InTree.Destory();

system(“pause“);
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-01 18:41  .vs\
     目录           0  2018-12-01 18:41  .vs\test2\
     目录           0  2019-02-14 14:34  .vs\test2\v15\
     文件       33792  2019-02-14 14:34  .vs\test2\v15\.suo
     文件     5328896  2019-02-14 14:34  .vs\test2\v15\Browse.VC.db
     目录           0  2018-12-01 18:52  .vs\test2\v15\ipch\
     目录           0  2018-12-01 19:21  .vs\test2\v15\ipch\AutoPCH\
     目录           0  2018-12-02 23:58  .vs\test2\v15\ipch\AutoPCH\4ccdee48564243ed\
     文件    30605312  2019-02-14 14:29  .vs\test2\v15\ipch\AutoPCH\4ccdee48564243ed\MYACHIEVE.ipch
     目录           0  2018-12-01 18:53  .vs\test2\v15\ipch\AutoPCH\6ddcf34c45e8e501\
     文件    30605312  2018-12-01 19:21  .vs\test2\v15\ipch\AutoPCH\6ddcf34c45e8e501\ACHIEVE.ipch
     目录           0  2018-12-01 19:21  .vs\test2\v15\ipch\AutoPCH\74163420727b7f8d\
     文件    30605312  2018-12-01 19:30  .vs\test2\v15\ipch\AutoPCH\74163420727b7f8d\FUNCTION.ipch
     目录           0  2018-12-01 18:53  .vs\test2\v15\ipch\AutoPCH\872dfc4312833e9f\
     文件    30605312  2018-12-02 19:55  .vs\test2\v15\ipch\AutoPCH\872dfc4312833e9f\THREADTREE.ipch
     目录           0  2018-12-01 18:56  .vs\test2\v15\ipch\AutoPCH\bd89d6c6d9fe5915\
     文件    30605312  2018-12-01 19:16  .vs\test2\v15\ipch\AutoPCH\bd89d6c6d9fe5915\MYTREE.ipch
     目录           0  2018-12-05 19:51  Debug\
     文件      118272  2018-12-06 12:34  Debug\test2.exe
     文件      996616  2018-12-06 12:34  Debug\test2.ilk
     文件      962560  2018-12-06 12:34  Debug\test2.pdb
     文件        1429  2018-12-01 18:41  test2.sln
     目录           0  2018-12-06 12:34  test2\
     文件        1342  2018-12-01 18:54  test2\achieve.cpp
     目录           0  2018-12-06 12:34  test2\Debug\
     文件      325300  2018-12-06 12:34  test2\Debug\myachieve.obj
     文件         612  2018-12-02 19:14  test2\Debug\test2.Build.CppClean.log
     文件         169  2018-12-06 12:34  test2\Debug\test2.log
     目录           0  2018-12-06 12:34  test2\Debug\test2.tlog\
     文件         600  2018-12-06 12:34  test2\Debug\test2.tlog\CL.command.1.tlog
     文件       19346  2018-12-06 12:34  test2\Debug\test2.tlog\CL.read.1.tlog
............此处省略14个文件信息

评论

共有 条评论