컴공 일기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를 선물하세요.
-
수학 실모 1 0
수학 실모 꼭 하나만 푼다면 킬캠이 좋을까요 한석원 모의고사가 좋을까요. 선택과목은...
-
조언 좀 부탁드립니다… 10 0
이번 6모 엄청나게 망쳤어요 국어는 시간 부족으로 문학 2세트 날렸고 수학은 확통...
-
ㅇㅇㅈ?
-
기하는 항상 이야기하지만 8 2
6평에는 최종보스가 안나옴
-
28을 본 처음내 사고회로 3 0
1.f를 구해야하나 f식만 남기고 다 좌변으로 넘겨야겠다 2.ㄴ조건을 먼저해석해볼까...
-
대성 메가패스 이런 거 없는데 구매 가능한가요? 잘 몰라서요..
-
이거
-
러셀 기숙 남학생 전문관 0 0
다녀보신 분 계신가요?? 수업 다 대치동 현장강의로 신청하고 자습 가능한가요??
-
미적본 친구들에게 8 0
아직 안늦었다 기하런해라 진심 시발점만해도 벡터 4점짜리빼고 다맞춘다 이길수없다면 합류하자
-
미적 기하 고민중인데 1 0
15, 22, 28, 30틀입니당 작수 4여서 거의 공통만 해서 미적은 뉴런이랑...
-
언매할까 10 0
화작 88인데 언매 82-3이랑 표점이 똑같네
-
알 수 없는 통통이의 세계 3 0
8번은 왜 9, 10, 11보다 정답률이 낮은가 원래 3번, 6번 이정도에 나오던 건데
-
이해원 엔제 2 1
이거 미적분 day2 40분안에 어케풀죠…이게 배터리 2개..??
-
28 30은 안 풀어바서 모르겠는데 11 0
많이 어렵나 무서워요
-
28번 과조건에 대하여 17 3
f(x)의 미분가능성만 이용해서 푼 풀이인데, 이 풀이가 논리적 결함 없이...
-
2606기하가 물이긴 한데 4 0
2411이라는 더 심연이 있음... 2411은 2606에서 30번마저 한줄딸깍 시험지였음
-
언매런 제발 조언좀 3 0
이번에 언매 화작 표점차보고 현타와서 언매 풀어봣거든 몇분 이내로 풀어야 되는지...
-
이 난도차면
첫번째 댓글의 주인공이 되어보세요.