treedemo.cpp

来自「讲解了树的粗略算法」· C++ 代码 · 共 59 行

CPP
59
字号
// treedemo.cpp : Defines the entry point for the console application.
//

#include "stdio.h"
#include "tree.h"
#include "string"
using namespace std;

typedef Tree<string> StringTree;
typedef StringTree::Node StringNode;


// recursive function for prionitng nodes
void PrintNode(StringNode node,int nLevel) {
	// print new line
	fputs("\n",stdout);
	// print spaces for indent (2 for every level)
	string s;
	s.resize(nLevel*2,' ');
	fputs(s.c_str(),stdout);

	// print the value
	fputs(node.get_Data()->c_str(),stdout);

	// iterate through children
	nLevel++;
	for(int n=0;n<node.Count;n++) {
		PrintNode(node.Nodes[n],nLevel);
	}
}

int main(int argc, char* argv[])
{
	// define the tree
	StringTree tree; 
	((string&)tree)="Root";

	//add few nodes
	StringNode node=tree;

	node.AddNode("1").AddNode("11");
	StringNode node2=node.AddNode("2");

	node2.AddNode("21").AddNode("211");
	node2.AddNode("22");
	node2.AddNode("23");
	
	node.AddNode("3");

	// print the tree
	PrintNode(tree,0);

	// wait for enter
	char buf[3];
	fputs("\nPress ENTER :",stdout);
	fgets(buf,3,stdin);
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?