vector,list实现图的邻接表 DFS遍历

本文介绍了图的两种实现方式,重点讲解了邻接表的实现,并提供了DFS遍历图的代码示例。
摘要由CSDN通过智能技术生成

图的实现

图的实现有两种方法,一种是邻接矩阵,另一种是邻接表,这两种实现各有各的优缺点,以下给出了邻接表的实现并且DFS遍历的代码实现。

举例

在这里插入图片描述

// A simple representation of graph using STL
#include<iostream>
#include<vector>
#include<list>
using namespace std;

// A utility function to add an edge in an
// undirected graph.
void addEdge(vector<list<int> >& adj,int i, int j)
{
	adj[i].push_back(j);
	adj[j].push_back(i);
}

// A utility function to print the adjacency list
// representation of graph
void printGraph(vector<list<int> >& adj, int V)
{
	for (int i = 0; i < V; ++i)
	{
		cout << "Adjacency list of vertex " << i << endl;
		
		for (auto j = adj[i].begin(); j != adj[i].end(); j++)
			cout << *j &l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值