ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자료구조] 기본 Queue 소스
    Programming/자료구조&알고리즘 2014. 3. 21. 18:29
    반응형

    큐 소스입니다.



    #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
Designed by Tistory.