ヒープ (配列を使用) を使用しているプライオリティ キューを作成したいです。プライオリティ キューはジェネリックであるため、クライアントがコンストラクターを介して比較関数を渡して 2 つの型を比較する限り、すべてのデータ型を受け入れます。
比較関数をパラメーターとして受け入れるコンストラクターを作成するにはどうすればよいですか? さらに、チェック時に比較関数を呼び出すにはどうすればよいですか
return (Type a==Type b)
例えば。
struct node{
string val1;
string val2;
vector<node *> connectedNodes;
};
int compareNode(node a,node b){
//describe the compare
}
int main(){
PQueue<node> q(compareNode);
}
PQueue クラスは配列として実装されます。追加、バブリング、ヒープ化では 2 つの ValType を比較する必要があるため、compareNode を使用して比較する必要があります。