Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 표준 템플릿 라이브러리(STL)의 우선 순위 큐

<시간/>

우선 순위 큐는 우선 순위에 따라 요소의 삽입 및 삭제를 지원하는 우선 순위가 지정된 요소 모음을 저장하기 위한 추상 데이터 유형입니다. 즉, 우선 순위가 가장 높은 요소는 언제든지 제거될 수 있습니다. 우선 순위 큐는 스택, 큐, 목록 등과 같이 위치에 대해 선형 방식으로 요소를 저장하지 않습니다. 우선 순위 큐 ADT(추상 데이터 유형)는 우선 순위에 따라 요소를 저장합니다.

우선 대기열은 다음 기능을 지원합니다. -

크기() − 요소 수를 반환하므로 우선 순위 대기열의 크기를 계산하는 데 사용됩니다.

빈() - Priority Queue가 비어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

삽입(요소) − 새 요소를 우선 순위 대기열에 삽입하는 데 사용

최소() - 연결된 키 값이 가장 작은 요소를 반환하고 Priority Queue가 비어 있으면 오류 메시지를 표시합니다.

removeMin() - min() 함수가 참조하는 요소를 제거합니다.

아래는 작업이 우선순위 대기열에 미치는 영향을 보여주는 표입니다.

C++ 표준 템플릿 라이브러리(STL)의 우선 순위 큐

StartStep 1-> Priority Queue void display(priority_queue  Pq) 선언 및 설정 priority_queue  que =Pq Loop While (!que.empty()) 호출 que.top () call que.pop() EndStep 2-> main()에서 priority_queue의 객체 생성  Pq push()를 호출하여 Pq.push(1)로 우선순위 큐에 요소를 삽입합니다. display(Pq)를 호출하여 확인 우선순위 큐의 크기 Pq.size() 우선순위 큐의 최상위 요소를 표시하기 위한 호출 Pq.top() 우선순위 큐의 요소를 제거하기 위한 호출 Pq.pop() display(Pq)Stop 호출 

예시

#include #include  네임스페이스 사용 std;void display(priority_queue  Pq) { priority_queue  que =Pq; 동안 (!que.empty()) { cout <<'\t' < Pq; Pq.push(1); Pq.push(3); Pq.push(5); Pq.push(7); Pq.push(9); cout <<"우선순위 큐는 :"; 디스플레이(Pq); cout <<"\nsize()를 사용하는 우선 큐 크기 :" < 

출력

우선순위 큐:9 7 5 3 1size()를 사용한 우선 큐 크기:5top()을 사용하는 우선순위 큐의 첫 번째 요소:9pop()을 사용하여 요소 제거:7 5 3 1