全文预览

C 邻接链表的方式确定一个无向网设计报告

上传者:科技星球 |  格式:doc  |  页数:24 |  大小:1593KB

文档介绍
()?{ delete[]arctable;?}};#endif4.最小生成树边节点的类定义#ODE#ODEtemplate<classA>ode//生成树边节点的类定义{public:?intvex1,vex2;//边的依附顶点?Aweight;//边的权值?ode(Aw=0)?{ weight=w;?}};#endif5.普里姆算法中的辅助数组closearc[]的类定义#ifndefCLOSEARCTYPE#defineCLOSEARCTYPEtemplate<classA>classCloseArcType//普里姆算法中的辅助数组closearc[]的类定义{public:?Alowweight;//边的权值?intnearvex;};#endif6.克鲁斯卡尔算法中最小堆的类定义#ifndefMINHEAP#defineMINHEAP#include<iostream>template<classT>classMinHeap//最小堆的类定义{private:?T*heapArr;//存放堆中数据元素的数组?intheapCurrentSize;//当前数据元素个数?intheapMaxSize;//堆中数据元素最大数目?intIsFull()const//判断堆是否满。满返回,否则返回?{ returnheapCurrentSize==heapMaxSize;?}?intIsEmpty()const//判断堆是否空。空返回,否则返回?{ returnheapCurrentSize==0;?}?voidFilterUp(intp)//从p开始向上调整。使序列成为堆?{ intj=p,i; Ttemp=heapArr[j]; i=(j-1)/2; while(j>0) { if(heapArr[i].weight<=temp.weight) break; else

收藏

分享

举报
下载此文档