왼쪽 광고칸
반응형
| | | | | |

C코드 테스트

Category : 카테고리2/카테고리 2 끝
Date : 2019. 5. 16. 22:34
728x90
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100

typedef int element; //int형을 큐 element의 자료형으로 정의

typedef struct
{
	element queue[MAX_SIZE];  
    int front, rear;

} QueueType;

void init(QueueType *q){

	q->front=q->rear=0;

}

void error(char *message){

	fprintf(stderr,"%s\n",message);

	exit(1);

}

void enqueue(QueueType *q,element item){

	if((q->rear+1)%MAX_SIZE==q->front)

		error("큐가 포화상태입니다");

	q->rear=(q->rear+1)%MAX_SIZE;

	q->queue[q->rear]=item;

}

element dequeue(QueueType *q){

	if(q->front==q->rear)

		error("큐가 공백상태입니다");

	q->front=(q->front+1)%MAX_SIZE;

	return q->queue[q->front];

}


int main()
   {

    QueueType q;
    init(&q);
    printf("item= %d \n",q.queue[q.front]);
    printf("front= %d \n",q.front);
    printf("rear= %d \n",q.rear); 

    
	enqueue(&q,99);
	enqueue(&q,88);
	
	printf("item= %d \n",q.queue[q.front]);
	printf("item= %d \n",q.queue[q.front+1]);
	printf("item= %d \n",q.queue[q.front+2]);
    printf("front= %d \n",q.front);
    printf("rear= %d \n",q.rear); 
    
	dequeue(&q);
	printf("item= %d \n",q.queue[q.front]);
	printf("item= %d \n",q.queue[q.front+1]);
	printf("item= %d \n",q.queue[q.front+2]);
    printf("front= %d \n",q.front);
    printf("rear= %d \n",q.rear); 
    
   }

카테고리2
에 해당하는 글
1

  1. C코드 테스트12019.05.16




오른쪽 광고칸
반응형