本文整理汇总了C++中priority_queue::emplace方法的典型用法代码示例。如果您正苦于以下问题:C++ priority_queue::emplace方法的具体用法?C++ priority_queue::emplace怎么用?C++ priority_queue::emplace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类priority_queue
的用法示例。
在下文中一共展示了priority_queue::emplace方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: balltree_nearest_n
void balltree_nearest_n(priority_queue<pair<int, double>, vector<pair<int, double> >, sortNodes>& pq, struct ballnode* node, struct datapoint *t, int k, int D){
if (pq.size()==k){
if (getDistancePivot(t,node->pivot,D)>=pq.top().second) {
return;
}
}
else if(node->child1==NULL && node->child2 == NULL){
for (int i=0; i<node->data.size(); i++) {
double dist =getDistance(t, node->data.at(i),D);
if (pq.size()==k){
if(dist< pq.top().second){
pq.pop();
pq.emplace(make_pair(node->data.at(i)->idx,dist));
}
}
else
pq.emplace(make_pair(node->data.at(i)->idx,dist));
}
}
else{
double dist_1 = getDistancePivot(t, node->child1->pivot,D);
double dist_2 = getDistancePivot(t, node->child2->pivot,D);
if(dist_1<dist_2){
balltree_nearest_n(pq,node->child1,t,k,D);
balltree_nearest_n(pq,node->child2,t,k,D);
}
else{
balltree_nearest_n(pq,node->child2,t,k,D);
balltree_nearest_n(pq,node->child1,t,k,D);
}
}
}
示例2: put
inline void put(T item, Number priority) {
elements.emplace(priority, item);
}
示例4: REP
REP(i, N) {
pq.emplace(a[i], i);
}