⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 用C实现树和图的相关算法
💻 CPP
字号:
#include <stdio.h>
#include <stdlib.h>
//#include "dot.h"
#include "list.h"
#include "graph.h"
#include "mystring.h"
#include "queue.h"
#include "tree.h"

void main()
{
	graph g=newGraph("MyGraph");

	graphInsertVertex (g,"v1");
	graphInsertVertex (g,"v2");
	graphInsertVertex (g,"v3");
	graphInsertVertex (g,"v4");
	graphInsertVertex (g,"v5");
	graphInsertVertex (g,"v6");
//	graphInsertVertex (g,"v7");
//	graphInsertVertex (g,"v8");

	graphInsertEdge (g,"v1","v2");
	graphInsertEdge (g,"v1","v3");
	graphInsertEdge (g,"v1","v6");
	graphInsertEdge (g,"v2","v4");
	graphInsertEdge (g,"v2","v5");
	graphInsertEdge (g,"v3","v5");
	graphInsertEdge (g,"v3","v6");



	
	graphVertex vTemp=searchGraphVertex(g,"v1");

	graphClear(g);
	graphDfs(g,vTemp);



	printf("\n");

	graphClear(g);
	graphBfs(g,vTemp);

	printf("\nBFS TREE:");

	tree t=graphBfsTree(g,vTemp);
	printf("%s",t->treeName);
/*
	printf("\nTree Vertexs:\n");

	list lTree=t->vertices;
	lTree=lTree->next;
	while(lTree)
	{
		vertex vTree1=(vertex)(lTree->element);
		visit(vTree1->vInfo);
		lTree=lTree->next;
		printf("  children:");
		
		list l2=vTree1->edges;
		l2=l2->next;

		while(l2)
		{
			edge e=(edge)(l2->element);
			visit((e->to));
			l2=l2->next;
		}

		printf("\n");



	}






	vertex vTreeTemp=searchVertex(t,"v1");

	printf("treePreOrder:\n");
	treePreOrder(t,vTreeTemp);

	printf("\ntreeInOrder:\n");
	treePostOrder(t,vTreeTemp);

	printf("\ntreePostOrder:\n");
	treeInOrder (t,vTreeTemp);

	printf("\ntreeLevelOrder:\n");
	treeLevelOrder(t);

*/


//	outputDfsEdge(g,vTemp);


	graphTopoSort(g);

}

⌨️ 快捷键说明

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