반응형
Put() - 자료를 넣는 함수
Get() - 자료를 빼는 함수
#include <stdio.h>
#define MAX 100
/* Queue 선언 */
int Queue[MAX];
int Front, Rear;
void InitializeQueue(void); // 큐 초기화 함수
void Put(int); // 데이터의 삽입
void DisplayQueue(void); // 큐를 보여줌
int Get(void); // 데이터의 꺼냄
void main()
{
int ret;
InitializeQueue();
Put(1);
Put(3);
Put(10);
Put(20);
Put(12);
printf("\n다섯 번의 Put() 호출 후 결과 \n");
DisplayQueue();
ret = Get();
ret = Get();
ret = Get();
printf("\n세 번의 Get() 호출 후 결과\n");
DisplayQueue();
printf("\n두 번의 Get() 호출 후 결과\n");
ret = Get();
ret = Get();
DisplayQueue();
}
/* 큐의 초기화 함수 */
void InitializeQueue(void)
{
Front = Rear = 0;
}
void Put(int num)
{
Queue[Rear++] = num;
if(Rear >=MAX)
Rear = 0;
}
int Get(void)
{
int ret;
ret = Queue[Front++];
if(Front >=MAX)
Front=0;
return ret;
}
void DisplayQueue(void)
{
int i;
printf("Front -> ");
for(i=Front; i < Rear; i++)
printf("%2d ->", Queue[i]);
printf("Rear");
}
원형 큐로 바꾸기
반응형
'Programings > Data Structs' 카테고리의 다른 글
RVector (0) | 2015.10.20 |
---|---|
[Data Struct] 큐 (Queue) - 링크드 리스트를 이용한 큐 (2) | 2010.08.17 |
[Data Struct] 스택 (Stack) - 링크드 리스트를 이용한 스택 (0) | 2010.08.12 |
[Data Struct] 이중 링크드 리스트 (0) | 2010.08.12 |
[Data Struct] 단순 링크드 리스트 (0) | 2010.08.12 |