您的位置:首页 > 其它

一个最简单的图的接口的定义

2008-11-14 08:33 381 查看
这是一个图的最简单的接口,很不齐全,也没有实现,实现放在以后再写。



// 边:

struct Edge

{

int v, w;

Edge(int v=-1, int w=-1): v(v), w(w){}

};



// 图:

class GRAPH

{

public:

GRAPH(int, bool); // 两个参数:顶点数和是否为有向图

~GRAPH();

int V() const; // 返回顶点数

int E() const; // 返回边数

bool directed() const; // 是否为有向图

int insert(Edge); // 插入边

int remove(Edge); // 删除边

bool edge(int, int); // 两个顶点是否邻接(有一条边直接连接这两个顶点)

// 迭代器:

class adjIterator

{

public:

adjIterator(const GRAPH&, int );// 第一个参数:图的引用,第二个:顶点

int beg(); // 返回第一个与该顶点邻接的顶点

int nxt(); // 下一个

bool end(); // 是否为最后一个

};

private:

// member variables

};



之所以没有实现这个接口,是因为它依赖于图的具体的表示。

迭代器的实现,为我们遍历与某个顶点邻接(v)的顶点集合提供了方便。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: