우선 대기 열 사용 방법 (사용자 정의 정렬)

참조 1:http://blog.csdn.net/ac_gibson/article/details/44200411
참고 2:http://www.cppblog.com/shyli/archive/2007/04/06/21366.html
우선 대기 열 이 무엇 입 니까? 우선 대기 열 에서 요 소 는 우선 순위 가 부여 되 고 요 소 를 방문 할 때 최고급 우선 순위 가 있 는 요소 가 먼저 접근 합 니 다.즉, 우선 대기 열 은 최고급 선 출 행위 특징 을 가지 고 있다.
우선 순위 대기 열 은 헤더 파일 \ # include 에 있 습 니 다.
그 성명 형식 은: priorityqueue ans;//ans 라 는 성형 우선 대기 열 을 설명 합 니 다.
기본 동작:
empty( )  //대기 열 이 비어 있 는 지 판단 합 니 다.
pop( )  //대상 요소 삭제
top( )  //우선 대기 열의 최상 위 요 소 를 되 돌려 줍 니 다.
push( )  //요소 추가
size( )  //우선 순위 대기 열 에 있 는 요소 개 수 를 되 돌려 줍 니 다.
우선 대기 열의 시간 복잡 도 는 O (logn) 이 고 n 은 대기 열 에 있 는 요소 의 개수 이 며 액세스 하 는 데 시간 이 필요 합 니 다.
기본 우선 순위 에서 우선 순위 가 가장 높 은 선 출 팀.기본 int 형식의 우선 대기 열 에서 먼저 나 오 는 것 은 대기 열 에서 큰 숫자 입 니 다.
첫 번 째 용법 (기본 값 은 큰 것 에서 작은 것 으로 정렬):
priority_queue q1;//        ,            
#include
#include
using namespace std;
priority_queue q1;//         
int main()
{
	int n;
	cin>>n;
	int t;
	for(int i=1;i<=n;i++)
	{
		cin>>t;
		q1.push(t);
	}
	while(!q1.empty())
	{
		cout<


두 번 째 용법 (어 릴 때 부터 정렬):
4. 567913. 두 번 째 매개 변 수 는 용기 유형 이다.
세 번 째 매개 변 수 는 비교 함수 이다.
priority_queue,greater >q1;


세 번 째 용법: 사용자 정의 정렬 규칙
#include
#include
using namespace std;
priority_queue,greater >q1;//      ,    > >         
int main()
{
	int n;
	cin>>n;
	int t;
	for(int i=1;i<=n;i++)
	{
		cin>>t;
		q1.push(t);
	}
	while(!q1.empty())
	{
		cout<

优先队列的使用方法(自定义排序)_第1张图片

좋은 웹페이지 즐겨찾기