c++中的图链表数据结构

来源:互联网 发布:centos 7 route add 编辑:程序博客网 时间:2024/05/23 18:22
template<class T,class E>struct Edge{int dest;//到下个点的距离E cost;//到下个点的权重Edge<T,E>*link;Edge(){}Edge(int num,E weight):dest(num),cost(weight),link(NULL){}};template<class T,class E>struct Vertex{T data;Edge<T,E>*adj;}template<class T,class E>class Graphlnk{public:Graphlnk(int sz=DefaultVertices);~Graphlnk();T getValue(int i){return (i>=0&&i<NumVertices)?NodeTable[i].data:0;}E getWeight(int v1,int v2);bool insertVertex(const T& vertex);bool removerVertex(int v);bool insertEdge(int v1,int v2,E cost);bool removeEdge(int v1,int v2);int getFirstNeighbor(int v);int getNextNeighbor(int v,int w);private:Vertex<T,E> *NodeTable;//顶点结点数组int maxVertices;//最大顶点数int numEdges;//边的条数int numVertices;//顶点的个数};

0 1
原创粉丝点击