開發平台(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