대기 열 및 우선 대기 열

1. 대열
대기 열의 정의:
헤더 파일 \ # include
대기 열 은 선진 적 으로 먼저 나 온 데이터 구조 이다.
대열 의 성명
queue q;  //선언 문자 형식
queue q;  //성명 구조 체 형식
...........
사용자 정의 형식 을 설명 할 수 있 습 니 다.
대열 의 조작
대열 에 들어가다   s.push(x);
대열 을 나가다   s.pop();
대기 열의 데이터 수 를 되 돌려 줍 니 다.  s.size();
대기 열 이 비어 있 는 지 판단 하기   s.empty();  빈 대기 열 을 true 로 되 돌리 면
대기 열 머리 요소 되 돌리 기  q.front();
대기 열 끝 요소 되 돌리 기  q.back();
2. 우선 순위
#include
#include
#include
#include 
using namespace std;
struct cmp1
{
    bool operator ()(int &a,int &b)
    {
        return a>b;//     
    }
};
struct cmp2
{
    bool operator ()(int &a,int &b)
    {
        return a,cmp1> que1;            //   ,     
    priority_queue,cmp2> que2;            //   ,     
    priority_queue,greater > que3;   //   ,    
    priority_queue,less > que4;      //   ,    
    
    int n,a;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){  
        cin>>a;
        que1.push(a);
        que2.push(a);
        que3.push(a);
        que4.push(a);
    }                //       :   5 7 3 8 4 1
    
    while(!que1.empty())
    {
        cout<

샘플 코드 를 보면 알 수 있 듯 이 우선 대기 열 을 사용 합 니 다. 기본 값 은 큰 것 부터 작은 것 까지 정렬 합 니 다. 우선 대기 열 안의 함 수 는 직접 호출 할 수 있 습 니 다.
대기 열의 우선 성 을 바 꾸 기 위해 서 사용자 정의 로 대 입 할 수도 있 습 니 다.
또한 우선 대기 열 에서 값 을 추출 할 때 q. top () 만 사용 하여 대기 열의 머리 요 소 를 추출 할 수 있 음 을 알 수 있 습 니 다.헤드 요 소 를 삭제 하려 면 q. pop () 을 사용 하 십시오.
 priority_queue,cmp1> que1;            //   ,     
    priority_queue,cmp2> que2;            //   ,     
    priority_queue,greater > que3;   //   ,    
    priority_queue,less > que4;      //   ,    
    

호출 된 함수 가 있 습 니 다.
struct cmp1
{
    bool operator ()(int &a,int &b)
    {
        return a>b;//     
    }
};
struct cmp2
{
    bool operator ()(int &a,int &b)
    {
        return a

좋은 웹페이지 즐겨찾기