[자료구조] 우선순위 큐의 활용

서희찬·2021년 4월 11일
0
post-thumbnail

Q. 우선순위 큐를 이용해서 다수의 문자열을 저장하고, 저장된 문자열을 꺼내어 출력하는 프로그램을 작성해보자.

(단, 힙에 저장되는 문자열은 길이가 짧을 수록 우선순위가 높다고 가정한다.)

필요한 파일

  • 힙의 구현결과 : UsefulHeap.h,c
  • 우선 순위 큐의 구현결과 : PriorityQueue.h,c

usefulHeap.h
의 typedef 선언 변경
typedef char HData; -> typedef char * HData;

Main.c

#include <stdio.h>
#include <string.h>
#include "PriorityQueue.h"

int DataPriorityComp(char * str1, char * str2)
{
	return strlen(str2) - strlen(str1);
}

int main(void)
{
	PQueue pq;
	PQueueInit(&pq, DataPriorityComp);

	PEnqueue(&pq, "Good morning");
	PEnqueue(&pq, "I am a boy");
	PEnqueue(&pq, "Priority Queue");
	PEnqueue(&pq, "Do you like coffee");
	PEnqueue(&pq, "I am so happy");

	while(!PQIsEmpty(&pq))
		printf("%s \n", PDequeue(&pq));

	return 0;
}
profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글