C ++ 라이브러리-<대기열>

대기열 소개

큐는 FIFO (선입 선출) 컨텍스트에서 작동하도록 설계된 데이터 구조입니다. 큐 요소로부터 삽입되어 후방 단부 삭제됨 프론트 엔드.

큐 클래스는 컨테이너 어댑터입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 개체입니다. 다른 시퀀스 컨테이너에서 대기열을 만들 수 있습니다. 컨테이너 어댑터는 반복자를 지원하지 않으므로 데이터 조작에 사용할 수 없습니다. 그러나 데이터 삽입 및 삭제를 위해 각각 push ()pop () 멤버 함수를 지원합니다.

정의

다음은 <queue> 헤더 파일의 std :: queuer 정의입니다.

template <class T, class Container = deque<T> > class queue;

매개 변수

  • T − 포함 된 요소의 유형.

    T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.

  • Container − 기본 컨테이너 개체의 유형.

회원 유형

다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.

Sr. 아니. 회원 유형 정의
1 값 _ 유형 T (템플릿의 첫 번째 매개 변수)
2 container_type 템플릿의 두 번째 매개 변수
크기 유형 size_t
4 참고 값 _ 유형 &
5 const_reference const 값 _ 유형 &
6 차이 _ 유형 ptrdiff_t

<queue>의 함수

다음은 <queue> 헤더의 모든 메소드 목록입니다.

생성자

Sr. 아니. 방법 및 설명
1 queue :: queue 기본 생성자

요소가없는 빈 큐 개체를 생성합니다.

2 큐 :: 큐 초기화 생성자

큐 오브젝트를 구성하고 ctnr 사본으로 내부 컨테이너를 지정합니다 .

queue :: queue 이동 생성자

이동 시맨틱을 사용하여 other의 내용으로 큐를 구성합니다.

4 queue :: queue 복사 생성자

기존 큐 other 에 존재하는 각 요소의 사본으로 큐를 구성 합니다.

폐물 소각로

Sr. 아니. 방법 및 설명
1 queue :: ~ queue

컨테이너 메모리 할당을 해제하여 큐를 삭제합니다.

회원 기능

Sr. 아니. 방법 및 설명
1 대기열 :: 뒤로

대기열의 마지막 요소에 대한 참조를 반환합니다.

2 queue :: emplace

큐 끝에 새 요소를 구성하고 삽입합니다.

queue :: empty

큐가 비어 있는지 여부를 테스트합니다.

4 queue :: front

큐의 첫 번째 요소에 대한 참조를 반환합니다.

5 queue :: operator = 사본 버전

이전 콘텐츠를 교체하여 새 콘텐츠를 대기열에 할당합니다.

6 queue :: operator = 버전 이동

이전 콘텐츠를 교체하여 새 콘텐츠를 대기열에 할당합니다.

7 대기열 :: 팝

큐의 앞 요소를 제거합니다.

8 큐 :: 푸시 복사본 버전

대기열 끝에 새 요소를 삽입합니다.

9 큐 :: 푸시 이동 버전

대기열 끝에 새 요소를 삽입합니다.

10 대기열 :: 크기

큐에있는 총 요소 수를 반환합니다.

11 queue :: swap

대기열의 내용을 다른 대기열의 내용과 교환합니다.

비 멤버 오버로드 함수

Sr. 아니. 방법 및 설명
1 연산자 ==

두 큐가 같은지 여부를 테스트합니다.

2 연산자! =

두 큐가 같은지 여부를 테스트합니다.

연산자 <

첫 번째 큐가 다른 큐보다 작은 지 여부를 테스트합니다.

4 연산자 <=

첫 번째 큐가 다른 큐보다 작거나 같은지 여부를 테스트합니다.

5 연산자>

첫 번째 큐가 다른 큐보다 큰지 여부를 테스트합니다.

6 연산자> =

첫 번째 큐가 다른 큐보다 크거나 같은지 여부를 테스트합니다.

7 교환

두 큐의 내용을 교환합니다.

priority_queue 소개

우선 순위 큐는 우선 순위를 보유하는 큐 데이터 구조입니다. 우선 순위 큐는 요소가 임의의 순서로 삽입 될 수 있고 항상 최대 힙 요소가 먼저 검색 되는 힙 데이터 구조와 유사합니다 .

정의

다음은 <queue> 헤더 파일의 std :: priority_queue에 대한 정의입니다.

template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;

매개 변수

  • T − 포함 된 요소의 유형.

    T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.

  • Container − 기본 컨테이너 개체의 유형.

  • Compare − priority_queue를 정렬하는 데 사용할 비교 객체.

    두 인수를 비교할 수있는 함수 포인터 또는 함수 객체 일 수 있습니다.

회원 유형

다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.

Sr. 아니. 회원 유형 정의
1 값 _ 유형 T (템플릿의 첫 번째 매개 변수)
2 container_type 템플릿의 두 번째 매개 변수
크기 유형 size_t
4 참고 값 _ 유형 &
5 const_reference const 값 _ 유형 &
6 차이 _ 유형 ptrdiff_t

<queue>의 함수

다음은 <queue> 헤더의 모든 메소드 목록입니다.

생성자

Sr. 아니. 방법 및 설명
1 priority_queue :: priority_queue 기본 생성자

요소가없는 빈 priority_queue를 생성합니다.

2 priority_queue :: priority_queue 초기화 생성자

priority_queue 객체를 생성하고 ctnr 복사본으로 내부 컨테이너를 할당합니다 .

priority_queue :: priority_queue 범위 생성자

처음부터 마지막까지의 범위에있는 요소 수만큼 priority_queue를 생성합니다.

4 priority_queue :: priority_queue 이동 생성자

이동 시맨틱을 사용하여 other의 컨텐츠로 priority_queue를 구성합니다.

5 priority_queue :: priority_queue 복사 생성자

기존 priority_queue other에 존재하는 각 요소의 사본으로 priority_queue를 구성합니다.

폐물 소각로

Sr. 아니. 방법 및 설명
1 priority_queue :: ~ priority_queue

컨테이너 메모리 할당을 해제하여 priority_queue를 삭제합니다.

회원 기능

Sr. 아니. 방법 및 설명
1 priority_queue :: emplace

priority_queue에 정렬 된 순서로 새 요소를 구성하고 삽입합니다.

2 priority_queue :: empty

pritority_queue가 비어 있는지 여부를 테스트합니다.

priority_queue :: operator = 사본 버전

이전 콘텐츠를 대체하여 priority_queue에 새 콘텐츠를 할당합니다.

4 priority_queue :: operator = 버전 이동

이전 콘텐츠를 대체하여 priority_queue에 새 콘텐츠를 할당합니다.

5 priority_queue :: pop

priority_queue의 앞 요소를 제거합니다.

6 priority_queue :: push copy 버전

정렬 된 순서로 새 요소를 삽입합니다.

7 priority_queue :: push 이동 버전

정렬 된 순서로 새 요소를 삽입합니다.

8 priority_queue :: size

priority_queue에있는 총 요소 수를 반환합니다.

9 priority_queue :: swap

priority_queue의 내용을 다른 priority_queue의 내용으로 교환합니다.

10 priority_queue :: top

priority_queue의 첫 번째 요소에 대한 참조를 반환합니다.

비 멤버 오버로드 함수

Sr. 아니. 방법 및 설명
1 교환

priority_queue의 내용을 다른 priority_queue의 내용으로 교환합니다.