• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ print_tree函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中print_tree函数的典型用法代码示例。如果您正苦于以下问题:C++ print_tree函数的具体用法?C++ print_tree怎么用?C++ print_tree使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了print_tree函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: print_tree

void print_tree (tree_node* parent) {
	if((parent-> left_child)) {
		print_tree(parent-> left_child);
	}
	if((parent-> right_child)) {
		print_tree(parent-> right_child);
	}
	if(parent->points) {
		int size = parent->points->size;
		int* points =  parent->points->point_ids;
		for(int i =0; i < size; i++) {
			printf("%d \n", *(points + i));
		}
	}
}
开发者ID:caomw,项目名称:kd-trees,代码行数:15,代码来源:build_tree.cpp


示例2: print_tree

void print_tree(Node* tree, int tabs){
	/* Tulostaa puurakenteen käänteisessä sisäjärjestyksessä. Puurakenne muodostuu
	tulostamalla sopiva määrä sisennysmerkkejä ennen jokaista avainarvoa. Parametri 
	tabs pitää sisällään sisennysmerkkien lukumäärän */
	int i = tabs;
	if (tree){
		print_tree(tree->ptrRight, tabs + 1);
		while (i>0){
			printf("\t");
			i--;
		}
		printf("%d(%d)\n", tree->key, tree->height);
		print_tree(tree->ptrLeft, tabs + 1);
	}
}
开发者ID:joelsalminen,项目名称:AVL-tree,代码行数:15,代码来源:bst.c


示例3: print_tree

void print_tree(node *tree)
{

    printf("\nnumofcubes %d\n",tree->num_of_cubes);
    if(tree->type==0) printf("max\n");
    else printf("min\n");

    printf("score: %d\n\n",tree->score);
    if(tree->num_of_cubes<=0)
        return;
    print_tree((tree)->left);
    print_tree((tree)->right);


}
开发者ID:PanMig,项目名称:MinMax-algorithm-Game,代码行数:15,代码来源:main.c


示例4: print_tree

static void print_tree(tree t, int depth, int column)
{
	int laenge;

	if (NULL == t) 
		return;

	laenge = t->end - t->start;

	printf("%-*d <%-*.*s> (%d..%d)\n", 2 + column, depth, 
			laenge, laenge, t->start, t->from, t->to);

	print_tree(t->child, depth + 1, column + laenge);
	print_tree(t->next, depth, column);
}
开发者ID:uecker,项目名称:toys,代码行数:15,代码来源:baum.c


示例5: main

int main(void) {
    tree s = prompt_tree();
    printf("s = ");
    print_tree(s);
    tree t = prompt_tree();
    printf("t = ");
    print_tree(t);
    tree r = baz(s, t);
    printf("baz(s, t) = ");
    print_tree(r);
    free_tree(r);
    free_tree(s);
    free_tree(t);
    return 0;
}
开发者ID:sebschrader,项目名称:aud-ws201516,代码行数:15,代码来源:test-baz.c


示例6: print_tree

static void
print_tree (GNode *node, gint depth)
{
	GNode    *n;
	FakeNode *file;
	gint      i;

	for (i = 0; i < depth; i++) {
		g_print ("  ");
	}

	n = node;
	while (n) {
		file = n->data;
	
		g_print ("%s\n", file->name);

		if (file->directory) {
			print_tree (n->children, depth + 1);
		} else {
			g_print ("[%s]\n", file->content);
		}

		n = n->next;
	}
}
开发者ID:Ninja-1,项目名称:Circle2,代码行数:26,代码来源:circle-method.c


示例7: add_fake_node

static FakeNode *
add_fake_node (GnomeVFSURI *uri, gboolean directory)
{
	GnomeVFSURI *parent_uri;
	FakeNode    *parent_file;
	const gchar *path, *name;
	FakeNode    *file;

	parent_uri = gnome_vfs_uri_get_parent (uri);
	parent_file = get_fake_node_from_uri (parent_uri);

	if (!parent_file) {
		return NULL;
	}
	
	path = gnome_vfs_uri_get_path (uri);
	name = strrchr (path, '/') + 1;

	g_print ("ADD FAKE: %s, dir: %d\n", name, directory);
	
	file = fake_node_new (name, NULL);

	file->gnode = g_node_append_data (parent_file->gnode, file);
	file->directory = directory;

	print_tree (root, 0);

	return file;
}
开发者ID:Ninja-1,项目名称:Circle2,代码行数:29,代码来源:circle-method.c


示例8: main

int main ()
{
	short flag = 11;							/// flag for menu
	leaf *root;									/// root of tree

	root = new leaf;
	root->parent = NULL;						/// totaly null root of tree
	root->son_l = NULL;							
	root->son_r = NULL;							
	root->val = NULL;							

	while(1)
	{
		switch (give_mFlag())					/// give flag
		{
		case 1: 
			create_tree(root);					/// create tree
			printf("\n....tree was created");
			break;
		case 2:
			print_tree(root);					/// print tree
			break;
		case 0:
			delete_tree(root);					/// destroy tree 
			printf("\n....tree was destroied"); 
			flag = EXIT_WHILE;					/// and exit from programm
			break;
		}
		if (flag == EXIT_WHILE) break;
	}

	getchar();
	getchar();
}
开发者ID:KateLiliy,项目名称:Laba4,代码行数:34,代码来源:tree.cpp


示例9: main

/* program execution begins here
 *
 */
int main(int argc, char* argv[]) {
    if( argc != 2 ) {
        fprintf(stderr, "ERROR: useage is ./ticker FILENAME\n");
        return -1;
    }
    struct tree* tree, *tempC = NULL, *tempT = malloc(sizeof(struct tree));
    if (!tempT) {
        fprintf(stderr, "ERROR: could not allocate space.\n");
        return -1;
    }
    memset(tempT, 0, sizeof(struct tree));
    tree = read_file(argv[1]);
    if (!tree) { // allocation or read failed somehow
        return -1;
    }
    user_input(tree);
    while( (tempC = pop_tree(tree)) && tempC != tree) {
        tree_insert(tempT, tempC->data, check_value);
        free(tempC);
    }
    tree_insert(tempT, tree->data, check_value);
    print_tree(tempT);
    free(tree);
    tree_destroy(tempT);

}
开发者ID:bartmnz,项目名称:ticker,代码行数:29,代码来源:ticker.c


示例10: main

int main(int argc, char *argv[])
{
	struct block_device *bldev;
	FatVol vol;
	FatFile file;
	char *rootpath = argc > 2 ? argv[2] : "/";

	bldev = block_device_file_new(argc > 1 ? argv[1] : "fat32.img", "r+");
	assert(bldev != NULL);

	assert(fat_vol_init(bldev, &vol) == 0);
	fprintf(stderr, "Fat type is FAT%d\n", vol.type);

	fat_mkdir(&vol, "Directory1");
	fat_mkdir(&vol, "Directory2");
	fat_mkdir(&vol, "Directory3");
	assert(fat_chdir(&vol, "Directory1") == 0);
	fat_mkdir(&vol, "Directory1");
	fat_mkdir(&vol, "Directory2");
	fat_mkdir(&vol, "Directory3");
	if(fat_create(&vol, "Message file with a long name.txt", O_WRONLY, &file) == 0) {
		for(int i = 0; i < 100; i++) {
			char message[80];
			sprintf(message, "Here is a message %d\n", i);
			assert(fat_write(&file, message, strlen(message)) == (int)strlen(message));
		}
	}
	assert(fat_chdir(&vol, "..") == 0);
	assert(fat_open(&vol, ".", O_RDONLY, &file) == 0);
	print_tree(&vol, &file, rootpath[0] == '/' ? rootpath + 1 : rootpath);

	block_device_file_destroy(bldev);
}
开发者ID:MikrySoft,项目名称:openfat,代码行数:33,代码来源:fattest.c


示例11: main

int main(int argc, char *argv[])
{
        pid_t pid;
	int status;
	struct tree_node *root;

        if (argc != 2) {
                fprintf(stderr, "Usage: %s <input_tree_file>\n\n", argv[0]);
                exit(1);
        }

        root = get_tree_from_file(argv[1]);
        print_tree(root);

	pid=fork();
	if(pid<0){
		perror("main: fork");
		exit(1);
	}
	else if(pid==0){
		fork_procs(root);
		exit(1);
	}
		
	wait_for_ready_children(1);
	show_pstree(pid);
	kill(pid,SIGCONT);
        pid=wait(&status);
	explain_wait_status(pid,status);

	return 0;
}
开发者ID:dimosr,项目名称:Operating_Systems,代码行数:32,代码来源:part1_3.c


示例12: get_log

void HuffmanEncoder::encode(dict d)
{
	ofstream out;
	out.open((path + ".ashf").c_str());

	vector < Code > word_concat;
	for (int i = 0; i < d.size(); i++)
	{
		if (d[i].c.q == -1 || d[i].c.r == -1)
			continue;
		word_concat.push_back(d[i].c);
	}

	// coding of min(i1, i2)
	vector < string > r_s;
	int k = 0;
	for (int i = 0; i < word_concat.size(); i++)
	{
		int q_log = get_log(word_concat[i].q);
		string kemp = "";
		for (int i = 0; i <= q_log; i++)
		{
			kemp += (1 << i) & word_concat[i].r ? "1" : "0";
		}
		reverse(kemp.begin(), kemp.end());
		r_s.push_back(kemp);

		int r = word_concat[i].q;
		word_concat[i].q -= k;
		k = r;
	}

	root = build_tree(word_concat);
	get_codes(root);
	print_tree(root);

	string long_string = "";
	int q = 0;
	for (int i = 0; i < word_concat.size(); i++)
	{
		string tempor = get_code(word_concat[i].q) + r_s[i] + (word_concat[i].d == true ? "1" : "0");
		long_string = long_string + tempor;
	}

	int l_str_size = long_string.size();
	int cur_p = 0;
	while (cur_p < l_str_size)
	{
		unsigned char c = 0;
		for (int i = 0; i < min(8, l_str_size - cur_p); i++)
		{
			int t = long_string[i + cur_p] == '0' ? 0 : 1;
			c += (t << i);
		}
		cur_p += 8;
		out << c;
	}

	out.close();
}
开发者ID:IsachenkoV,项目名称:ArchAssembly,代码行数:60,代码来源:HuffmanEncoder.cpp


示例13: main

int main () {
	setlocale( LC_ALL,"Russian" );
	tree *t = NULL;
	char h;
	char searching[20];
	int flag;
	printf("Введите кол-во спортсенов: ");
	scanf("%d", &flag);
	do {
	   printf("Введите имя спортсмена: ");
	   scanf("%s", zappin.name);
	   printf("Введите вид спорта: ");
	   scanf("%s", zappin.sport);
	   printf("Введите кол-во очков: ");
	   scanf("%d", &zappin.score);
	   printf("\n");
	   add(t, zappin);
	   flag--;
	} while (flag);
	system("cls");
	print_tree(t);
			// Поиск
             
             printf("Для поиска спортсмена введите фамилию: ");
	         scanf("%s", searching);
	         search(t, searching);
	getch();
	return 0;
}
开发者ID:Alexey-Nikulin,项目名称:lab_prog,代码行数:29,代码来源:test+2.cpp


示例14: main

int main(int argc, char** argv) {
    if(argc <= 1) return 1;
    FILE *f = fopen(argv[1], "r");
    if (!f) {
        perror(argv[1]);
        return 1;
    }
    FILE *fp = stdout;
    if(argc == 3) {
        fp = fopen(argv[2], "w");
    }

    yyrestart(f);
#if YYDEBUG
    yydebug = 1;
#endif
    yyparse();
    if(!err) {
#ifdef DEBUG
        print_tree(root);
#endif
        main_parse(root);
        //print_code(&code, stdout);
        init_mips(fp);
        gen_mips(&code, fp);
    }
    return 0;
}
开发者ID:ArkBriar,项目名称:NJU-Compiler,代码行数:28,代码来源:main.c


示例15: main

int main(int argc, char** argv)
{
   if (argc > 2)
      if (strcmp(argv[1], "-d") == 0) {
         debug = 1;
         debug_file = fopen(argv[2], "w");
      }

   char namestring[MAXNAME];

   printf("what will you define?\n");

   fgets(namestring, MAXNAME, stdin);
   *(strchr(namestring, '\n')) = '\0';

   struct node* root = setup_tree(namestring);

   if (debug)
      print_tree(root);

   printf("total cost for %s is %.2f\n", namestring, calculate_cost(root, 1));

   free_tree(root);

   if (debug)
      fclose(debug_file);

   return 0;
}
开发者ID:tjarjoura,项目名称:parts-inventory,代码行数:29,代码来源:parts_inventory.c


示例16: main

int main() {
    int a[] = {3, 4, 5, 1, 9, 2, 0, 4, 5};
    int m, n = sizeof(a) / sizeof(int);
    for (m = 1; m < n; m <<= 1);
    m <<= 1;
    node *tree = (node *)calloc(m, sizeof(node));
    puts("build");
    PRA(a, n);
    build(tree, a, 0, n-1, 1);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j <= i; j++)
            a[j] += 1;
        // printf("(%d, %d)\n", 0, i);
        update(tree, a, 0, n-1, 1, 0, i, 1);
    }
    PRA(a, n);
    print_tree(tree, a, 0, n-1, 1);
    puts("query");
    int v;
    for (int i = 0; i < n; i++) {
        v = query(tree, a, 0, n-1, 1, 0, i);
        printf("(%d, %d): %d\n", 0, i, v);
    }
    for (int i = 0; i < n; i++) {
        v = query(tree, a, 0, n-1, 1, i, n-1);
        printf("(%d, %d): %d\n", i, n-1, v);
        assert(v == lsearch(a, i, n-1));
    }
    
    return 0;
}
开发者ID:wlxiong,项目名称:playground,代码行数:31,代码来源:segmenttree-lazyupdate.cpp


示例17: main

int main()
{
	List * root;	/*定义语义树根结点*/
	root = tag_list();	/*递归下降分析返回根结点*/
	print_tree(0, root); /*打印树到屏幕*/
	return 0;
}
开发者ID:dingman081130,项目名称:compiler,代码行数:7,代码来源:PARSER.C


示例18: print_tree

void print_tree(std::shared_ptr<dhc::graft::match::match> &root, int indent)
{
    if (root->type == static_cast<int>(dhc::lexer::type::WHITESPACE))
        return;

    auto tree = root->children();
    print_indent(indent);
    std::cout << '"' << root->flatten() << "\"" << std::endl;
    for (auto it = tree.begin(); it != tree.end(); ++it)
    {
        std::vector<std::shared_ptr<dhc::graft::match::match>> c = (*it)->children();
        if (c.size() == 0)
        {
            print_indent(indent + 4);
            std::string flat;
            (*it)->flatten().toUTF8String(flat);

            size_t pos = 0;
            while ((pos = flat.find("\n", pos)) != std::string::npos)
            {
                flat.replace(pos, 1, "\\n");
                pos += 2;
            }

            std::cout << '"' << flat << "\"" << ' ' << std::endl;
        }
        else
        {
            print_tree((*it), indent + 4);
        }
    }
}
开发者ID:ThatOtherPerson,项目名称:dhc,代码行数:32,代码来源:parser_main.cpp


示例19: main

int main() 
{
    //consume input data
    int departure = -1;
    int* tree = NULL;
    TIME* dist = NULL;
    citygraph _citys;

    if (consume_console_input(&_citys.matrix, &_citys.count))
    {
        printf("=>Input matrix as follows: \n");
        print_matrix(_citys.matrix, _citys.count);
        printf("=>Input departure city id : ");
        while(true)
        {
            scanf("%d", &departure);
            if(departure < 0 || departure >= _citys.count)
                printf("=>Departure city id should be in the range (0, %d), input again: ", _citys.count - 1);
            else
                break;
        } 
        assert(departure > -1 && departure < _citys.count);
        dist = dijkstra(_citys, &tree, departure);
        printf("=>The minimal time for a message to spread out from captiol to whole empire is %u ...\n", get_max_item(dist, _citys.count));

        print_tree(tree, _citys.count, departure);

        free(tree); tree = NULL;
        free(dist); dist = NULL;
        free_citygraph(_citys);
    }

    system("pause");
    return 0;
}
开发者ID:AutoCoder,项目名称:djkstar_homework,代码行数:35,代码来源:main.c


示例20: print_tree

static int print_tree(git_repository *repo, const git_oid *tree_oid, int depth)
{
	static const char *indent = "                              ";
	git_tree *tree;
	unsigned int i;

	if (git_tree_lookup(&tree, repo, tree_oid) < GIT_SUCCESS)
		return GIT_ERROR;

	for (i = 0; i < git_tree_entrycount(tree); ++i) {
		const git_tree_entry *entry = git_tree_entry_byindex(tree, i);
		char entry_oid[40];

		git_oid_fmt(entry_oid, &entry->oid);
		printf("%.*s%o [%.*s] %s\n", depth*2, indent, entry->attr, 40, entry_oid, entry->filename);

		if (entry->attr == S_IFDIR) {
			if (print_tree(repo, &entry->oid, depth + 1) < GIT_SUCCESS) {
				git_tree_close(tree);
				return GIT_ERROR;
			}
		}
	}

	git_tree_close(tree);
	return GIT_SUCCESS;
}
开发者ID:Jopie64,项目名称:libgit2,代码行数:27,代码来源:t09-tree.c



注:本文中的print_tree函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ print_unknown_data函数代码示例发布时间:2022-05-30
下一篇:
C++ print_trapframe函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap