c++中的图链表数据结构
2016-07-20 17:40
447 查看
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;//顶点的个数 };
相关文章推荐
- 4-1 单链表逆转 (20分)
- 【慢速学数据结构】排序
- 无情链表的创建,,插入,,删除第一个位
- 选择排序--稳定
- 整形转换成字符串
- 希尔排序--插值排序
- 快速排序
- 数据结构与算法JavaScript - 数组
- 数据结构学习之路----------线性表顺序存储结构插入和删除节点平均移动次数
- poj 1634 简单数据结构
- 线性表知识点总结一(第三天)
- 数据结构之—图
- 【慢速学数据结构】树的遍历
- SDUT 3334 数据结构实验之栈七:出栈序列判定
- 数据结构(脑洞题,BIT):COGS 2394. 比赛
- 经典排序算法 集锦
- HeadFirstJava——14_数据结构
- 山东理工OJ 2122 数据结构实验之链表七:单链表中重复元素的删除
- 数据结构C语言描述———快速排序算法详解
- 数据结构C语言——用二叉链表示二叉树