【邻接表怎么画】C++邻接表实现无向图实例代码

更新时间:2019-09-23    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

用向量来存储一条邻接链表,存储可连通值。实现了判断是否连通,添加边,添加顶点的功能。

UnDirectGraph.h

#pragma once

include “stdafx.h”
include

using namespace std;
class UnDirectGraph
{
private:
int vCount;
vector *adj;
public:
int GetVCount();
UnDirectGraph(int vCount);
void AddEdge(int v,int w);
vector &Vadj(int v);
bool IsConnected(int v,int w);
};
UnDirectGraph.cpp

#pragma once

include “stdafx.h”
include “UnDirectGraph.h”

using namespace std;
UnDirectGraph::UnDirectGraph(int _vCount)
{
this->vCount=_vCount;
adj=new vector[vCount];

for (int i=0;i<vCount;i++)
{
        adj[i].clear();
}

}
void UnDirectGraph::AddEdge(int v,int w)
{
adj[v].push_back(w);
adj[w].push_back(v);
}

vector& UnDirectGraph::Vadj(int v)
{
return adj[v];
}

bool UnDirectGraph::IsConnected(int v,int w)
{
for (vector::iterator iter=adj[v].begin();iter!=adj[v].end();iter++)
{
if (*iter==w)
{
return true;
}
}
return false;
}

int UnDirectGraph::GetVCount()
{
return vCount;
}

代码还算清晰,就不解释了,相信学习C++的同学都看得懂。

本文来源:http://www.bbyears.com/jiaocheng/68973.html

热门标签

更多>>

本类排行