힙을 사용하여 우선순위 대기열을 구현할 수 있습니다. 일반 큐는 선입선출(FIFO) 방식의 데이터 구조입니다. 요소는 대기열 끝에 추가되고 처음부터 제거됩니다. 우선순위 대기열에서는 요소에 우선순위가 할당됩니다. 요소에 액세스할 때 우선순위가 가장 높은 요소가 먼저 제거됩니다. 예를 들어, 병원의 응급실에서는 환자에게 우선순위 번호를 할당합니다. 우선순위가 높은 환자를 우선 진료합니다.
힙을 사용하여 우선순위 큐를 구현할 수 있습니다. 여기서 루트는 큐에서 우선순위가 가장 높은 객체입니다. 힙은 힙 정렬에 도입되었습니다. 우선순위 큐의 클래스 다이어그램은 아래 그림에 나와 있습니다. 구현은 아래 코드에 나와 있습니다.
아래 코드는 환자 우선 대기열을 사용하는 예를 보여줍니다. Patient 클래스는 21~38행에 정의되어 있습니다. 6~9행에서는 관련 우선순위 값을 사용하여 4명의 환자가 생성됩니다. 8번째 줄은 우선순위 큐를 생성합니다. 환자는 12~15행에 대기열에 추가됩니다. 18번 라인은 대기열에서 환자를 제거합니다.
신디(우선순위:7) 팀(우선순위:5) 존(우선순위:2) 짐(우선순위:1)
위 내용은 우선순위 대기열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!