큐 소스입니다.



#include <stdio.h>
#include <stdlib.h>

// 큐 크기
#define QSIZE	(5)

// 큐 선언
int queue[QSIZE];
int front, rear;	// front == 0, rear == 0

int is_full() { return rear == QSIZE; }
void put(int data)
{
	queue[rear] = data;
	rear++;
}

int is_empty() { return front == rear; }
int get()
{
	int temp = queue[front];
	front++;
	return temp;
}

// 큐 출력
void display()
{
	int i;

	system("cls"); // 콘솔창 초기화
	printf("\n");

	printf("%*s\n", (rear+1)*4, "rear");
	printf("%*s\n", (rear+1)*4, "  | ");

	for(i=0; i< QSIZE; i++)
		printf("[%2d]", queue[i]);

	printf("\n");
	printf("%*s\n", (front+1)*4, "  | ");
	printf("%*s\n", (front+1)*4, "front");
	getchar();
}
void main()
{
	int i;

	display();
	for(i=0; i<7; i++)
	{
		if(!is_full())
			put(i+1);
		display();
	}

	for(i=0; i<7; i++)
	{
		if(!is_empty())
			get();
		display();
	}
}

'Programming > 자료구조&알고리즘' 카테고리의 다른 글

[자료구조] 기본 Stack 소스  (0) 2014.03.18

+ Recent posts