컴공 일기269
게시글 주소: https://orbi.kr/00071606014
알고리즘 큐로 넘어왔습니다.
알고리즘 문제를 풀기 전에는 늘 그것과 관련된 자료구조를 직접 구현을 해봅니다.
이유야 여러가지 있겠지만, 사고방식을 세부 구현에 맞추다 보면 알고리즘 해법을 조금 더 잘 찾을 수 있거든요.
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
typedef struct CIRCULAR_QUEUE
{
int rear;
int front;
int data[MAX];
}queue;
int is_empty(queue* q)
{
return q->rear == q->front;
}
int is_full(queue* q)
{
return (q->rear+1) % MAX == q->front;
}
void push(queue* q, int pData)
{
if(is_full(q))
{
printf("QUEUE IS FULL!!!\n");
return;
}
q->data[q->rear] = pData;
q->rear = (q->rear + 1) % MAX;
printf("Pushed : %d\n", pData);
}
int pop(queue* q)
{
if(is_empty(q))
{
printf("QUEUE IS EMPTY!!!\n");
return -1;
}
int data = q->data[q->front];
q->front = (q->front + 1) % MAX;
printf("Popped : %d\n", data);
return data;
}
void printQueue(queue* q)
{
int idx = q->front;
while(idx != q->rear)
{
printf("%d ", q->data[idx]);
idx = (idx + 1) % MAX;
}
}
int main()
{
//테스트를 위한 코드
queue* q = (queue*)malloc(sizeof(queue));
q->rear = q->front = 0;
push(q, 10);
push(q, 20);
push(q, 30);
push(q, 40);
//error
push(q, 50);
printQueue(q);
printf("\n");
pop(q);
pop(q);
pop(q);
pop(q);
//error
pop(q);
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
새내기 시절 일주일에 여덟 번 술 마신 사람의 중앙대 술집 추천_가성비 술집 편 0
대학커뮤니티 노크에서 선발한 중앙대 선배가 오르비에 있는 예비 중앙대학생, 중앙대...
-
준비시간 대비 수업 난이도나 등등 효율이 어떤가요? 전 영어 고정 1이긴한데...
-
아니 미치겠네 0
풀이 종이에 써서 찍어야하는데 초점이 안맞네; 시발 개똥폰
-
쎄하면 그냥 24
차단박는편
-
하긴 케잌위에 딸기는 다 이쁜딸기더라 못생긴 딸기가 더 맛있긴한데 옯붕이들같아
-
그레이엄 하먼은 아직 살아있는데 문항 출제 잘못하면 평가원 또 사과해야하는거 아닌지...
-
네웹 추천좀 해주세요 27
좀 많이 나와있는걸로
-
꽤나 오래된 역사를 지닌 곳
-
난 주혜연쌤 풀커리타고 1등급 맞
-
수특 살려는데 다 사야하나요? 굳이 독서 문학 화작 수1 수2 확통 ) 수학은 다...
-
내 커하인 사설 0
10덮 학교에서 봤는데 성적처리 안 해준다고 해서 성적표가 읎다
-
유배 9
전 감인데요
-
[재업]⚙한양대학교 기계공학부 25학번 신입생을 찾습니다⚙️ 0
⚙한양대학교 기계공학부 25학번 신입생을 찾습니다⚙️ 안녕하세요! 한양대학교...
-
떨치고 자야지 4
레어생각만하면 잠이 안와요
-
현재 충청권 의대 중에 조발난 데가 건글밖에 없나요 0
을지 충남 충북 건글 건양 다 발표 안 했나요
-
뽑아놓으면 도망가 사화성떨어져 아웃풋 밀려 그저 수시에서 패했을뿐인 범부
-
설물천을 가고싶구나
첫번째 댓글의 주인공이 되어보세요.