64,652
社区成员
发帖
与我相关
我的任务
分享
typedef struct EdgeNode* pEdgeNode;
struct EdgeNode{
DataType v1,v2;
WeightType weight;
};
//每个结构体被这样存储在vector中
vector<EdgeNode> edge_v;
vector<EdgeNode>::iterator p;
for(...p++)
(*p).v1 = v;
(*p).v2 = w->adj_vertex;
(*p).weight = w->weight;
//自定义的函数
bool EdgeCompare(vector<EdgeNode>::iterator a,vector<EdgeNode>::iterator b)
{
return (*a).weight < (*b).weight ? true : false;
}
//调用make_heap
make_heap(edge_v.begin(),edge_v.end(),EdgeCompare);