开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vc++
问题(Question):
我今天有两种资料群AB要分别依照他们的priority用heap做排班
两种资料用struct大概这样
struct A ( (typeA1 data1) , ... , (int p) )
struct B ( (typeB1 data1) , ... , (int p) )
(除了各自都有权重其他资料型态都不尽相同
我想说做一个heap的范本方便处理这两种资料群的排班,如下:
template <class type>
class max_heap{...}
private中有阵列作为heap,如: type data[heap_size]
那像是insert大致会像是下面这样:
template <class type>
void max_heap<type>::insert(type _data){
data[current_size+1]=_data;
current_size++;
... ... 然后根据"data[current_size].p"去做heap调整
}
把 范本默认的资料型态 预想成 含整数p的struct 然后操作,原本以为会出问题的
不过编译执行好像都可以,然后查了一下别人用template的一些例子
都是放很单纯的int...之类的,没看过把struct定义的放进去用
我想问的只是这是个好方法吗? 还是通常都是针对各种资料去建立各自的heap class