优先队列式分支界限法解装载问题中需要用到最大堆MazHeap,但是书上没有给出代码,所以只能我们自己写了,下面我贴出这两个数据结构的代码,以供参考。解决了这两个数据结构,那么优先队列式分支界限法就很好实现了。
最大堆MaxHeap:
HeapQueue H=init(4);
int i;
for(i=1;i<=3;i++)
InsertMax(i,H);
/*
cout<<H->size<<endl;
for(i=1;i<=3;i++)
cout<<H->Elem[i]<<endl;
*/
int a=DeleteMax(H);
cout<<a<<endl;
return 1;
}
最小堆MinHeap:
最大堆和最小堆也就该下大于号和小于号就可以了,贴出来是为了以后重用方便,省得到时再修改,麻烦。