本文整理汇总了C++中queue::top方法的典型用法代码示例。如果您正苦于以下问题:C++ queue::top方法的具体用法?C++ queue::top怎么用?C++ queue::top使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类queue
的用法示例。
在下文中一共展示了queue::top方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Solve
void Solve() {
priority_queue < TPair, vector <TPair>, greater <TPair> > Q;
for (int v = 1; v <= f[n]; v++) d[v] = MAXD;
memset(avail, true, sizeof(avail));
d[1] = 0;
Q.push(make_pair(d[1], 1));
while (Q.size()) {
TPair u = Q.top(); Q.pop();
if (!avail[u.second]) continue;
if (u.second == finish) break;
avail[u.second] = false;
vector <int> u_a = Unencrypt(u.second);
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++) {
vector <int> v_a(u_a);
swap(v_a[i], v_a[j]);
int v_id = Encrypt(v_a);
if (avail[v_id] && d[v_id] > u.first + c[i][j]) {
d[v_id] = u.first + c[i][j];
Q.push(make_pair(d[v_id], v_id));
}
}
}
}
示例2: bfs
void bfs(int s) {
int i, j, node;
memset(visit, 0, sizeof(visit));
myStack.push(s);
while(!myStack.empty()){
node = myStack.top();
myStack.pop();
if(visit[node]) continue;
visit[node] = 1;
cout << node << " ";
REP(i,V)
if(G[node][i]) myStack.push(i);
}
}
示例3: next_worklist_item
worklist_item next_worklist_item() {
worklist_item foo = worklist.top();
worklist.pop();
return foo;
}