Priority_queue_management(우선순위 큐 관리)
- 최초 등록일
- 2008.05.19
- 최종 저작일
- 2007.04
- C언어
- 가격 3,000원
소개글
1. 제목: Priority Queue Management
2. 프로그램 개요
- 입력으로 priority 필드와 computingtime 필드를 받아 priority queue를 관리하는
프로그램을 작성한다.
- priority queue는 3개의 queue로 분리되며, priority 값이 1 - 10사이가 가장 높은
단계의 queue(Queue ID = 1)에서 관리된다. Priority 값이 11 - 20사이는 중간
단계의 queue(Queue ID = 2)에서 관리되며, priority 값이 21 – 30인 경우에는
가장 낮은 단계의 queue(Queue ID =3)에서 관리된다.
- 각 queue에서는 priority 가 높을수록(숫자가 적을수록 priority 가 높다) head 가
까이에 위치된다.
- priority queue 초기화 function(initialize_queue())은 queue의 초기화 기능을 수
행한다.
- priority queue 삽입 function(insert_queue())은 priority에 따라서 원소를 적절한
queue에 삽입한다.
- priority queue 삭제 function(delete_queue())은 해당 queue에서 priority 보다 높
은 priority 값을 가지는 원소 중 최상위 priority 값을 가지는 원소를 삭제하며,
Queue ID, priority 값과 computing_time을 출력한다.
- 입력은 file에서 읽어오며, 20개의 {type, priority, computing_time} 필드를 입력으
로 가진다. 이때 type 값이 0이면 insert, 1이면 delete를 의미한다.
프로그램 주석은 라인마다 다 달려있어서 보기 편합니다.
file.txt 파일에 이러한 식으로 하였을때 실행 결과를 갭쳐해 놓은것 입니다.
0 10 30
0 5 20
0 10 5
0 15 20
0 13 20
0 13 5
0 11 15
0 12 10
1 10 1
1 5 2
0 17 3
0 19 20
0 19 12
1 5 20
0 26 20
컴파일 실행환경
Microsoft visual c++, 유닉스, 리눅스
참고 자료
f