우선 순위 대기 열 에 대한 STL
STL 의 priorityqueue [등급] STL 우선 대기 열 은 priorityquue 는 매우 간단 해서 원래 아 는 것 이 가장 간단 한 형식 이라는 것 을 알 게 되 었 다.
헤더 파일: \ # include < quue > 우선 대기 열, 즉 우리 가 배 웠 던 더미, 자신 이 정의 한 우선 순위 에 따라 팀 을 나 갈 때.기본 적 인 상황 에서 바 텀 은 Vector 로 이 루어 진 힙 입 니 다.대열 인 만큼 입 대 · 출 대 · 판 공 · 크기 조작 만 있 을 뿐 검색 기능 은 갖 추 지 않 았 다.
함수 목록: empty () 우선 대기 열 이 비어 있 으 면 진짜 로 돌아 갑 니 다. pop () 첫 번 째 요소 삭제 push () 요소 추가 size () 우선 대기 열 에 있 는 요소 의 개 수 를 되 돌려 줍 니 다. top () 우선 순위 대기 열 에 최고 우선 순위 가 있 는 요 소 를 되 돌려 줍 니 다.
용 도 는 더 이상 말 할 필요 가 없 겠 지 요. 예 를 들 어 Huff man 인 코딩, 분기 한계, A * 계발 식 은 모두 우선 대기 열 에 정 보 를 저장 해 야 합 니 다.
가장 많이 사용 되 는 몇 가지 기능 을 살 펴 보고 그 중의 지식 점 을 알 아 보 세 요. 첫째, 가장 기본 적 인 기능 \ # include < iostream > \ # include < quue > using namespace std;int main() { priority_queue
int main() { //초기 화 int n; cin>>n; Node *arr=new Node[n]; for(int i=0;i
#include <iostream>
#include <queue>
using namespace std;
typedef pair<unsigned long, int> node_type;
main()
{
unsigned long result[1500];
priority_queue< node_type, vector<node_type>, greater<node_type> > Q;
Q.push( make_pair(1, 2) );
for (int i=0; i<1500; i++)
{
node_type node = Q.top();
Q.pop();
switch(node.second)
{
case 2:
Q.push( make_pair(node.first*2, 2) );
case 3:
Q.push( make_pair(node.first*3, 3) );
case 5:
Q.push( make_pair(node.first*5, 5) );
}
result[i] = node.first;
}
int n;
cin >> n;
while (n>0)
{
cout << result[n-1] << endl;
cin >> n;
}
return 1;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.