본문 바로가기

Programings/Data Structs

[Data Struct] 스택 (Queue) - 배열을 이용한 스택

반응형

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");

}


원형 큐로 바꾸기



반응형