멍청이들

블로그 이미지
우린 멍청하니깐ㅋ
milang9

Article Category

분류 전체보기 (8)
멍청이들이란? (0)
오늘의 알고리즘 (1)
프로그래밍 참고 자료 (0)
진주의 배설물 (5)
교승이의 배설물 (1)
승하의 배설물 (1)

Recent Post

Recent Comment

Calendar

«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Archive

My Link

  • Total
  • Today
  • Yesterday

Queue 란? FIFO(First In First Out) 형식을 가진 자료구조 형태입니다!

간단하게 소스한번 볼까요~? 

#include <stdio.h>

 

int ary[5]={0,};
int rear=-1;
int front=-1;

 

void init_Queue();
void InQueue();
void DeQueue();
void Print_Queue();
void All_Clear();

 

int main(void)
{
 int i;

 init_Queue();

 printf("Queue에 데이터를 입력합니다.\n");

//0~4까지 입력 

for(i=0; i<4; i++)
 {
  InQueue();
 }

 Print_Queue();

 printf("Queue에 데이터를 입력합니다.\n");

//5까지 입력, 오버플로우 확인 

 for(i=0; i<2; i++)
 {
  InQueue();
 }
 Print_Queue();

//0~4까지 삭제

 printf("Queue에 데이터를 삭제합니다.\n");

 for(i=0; i<4; i++)
 {
  DeQueue();
 }

 Print_Queue();

//5까지 삭제, 언더플로우 확인

 printf("Queue에 데이터를 삭제합니다.\n");

 for(i=0; i<2; i++)
 {
  DeQueue();
 }

 Print_Queue();

//스택 비움

 printf("Queue를 비웁니다..\n");

 All_Clear();

 Print_Queue();


 return 0;
}

 

 

void init_Queue()
{
 rear=-1;
 front=-1;
}

 

void InQueue()
{
 int num;
 rear+=1;

 if(rear>=5)
 {
  printf("Overflow!\n");
 }
 else
 {
 printf("Input : ");
 scanf("%d",&num);

 ary[rear]=num;
 }

}

 

void DeQueue()
{


 front+=1;

 if(front==rear)
 {
  printf("underflow!\n");
  All_Clear();
 }
 else{

 ary[front]=0;
 }

}


void Print_Queue()
{
 int i;

 for(i=0; i<5; i++)
 {
  printf("Queue Data : %3d\n",ary[i]);
 }
 printf("\n");
}

 

void All_Clear()
{
 int i;

 for(i=0; i<5; i++)
 {
  ary[i]=0;
 }

 init_Queue();

}


엄청나게 지저분한걸 보면 딱 제가 짠 소스라는걸 알수있습니다..
필요하다면 메인 부분만 수정해서 쓰시면 될 것 같네요.
 
 
and

Tag Cloud