컴공 일기269
게시글 주소: https://i9.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명햄버거 5
-
제발 좀 나 가만히냅두 ㅓ..
-
진짜 나 괴롭히ㄴ는거에맛들렷나
-
포카칩 N제 2
언젠가 풀어야지
-
김승리t kbs에 독서를 안 다룬다는데 그럼 앱스키마말고 독서는 혼자 해야...
-
이제 과외준비하러 가야지 잘자용
-
배고파죽겟네 4
마음의 양식을 먹자
-
부경인아 뱃지 1
나오면 좋겠네
-
교사경 풀어야지 4
ㅎㅎ
-
맞는데 어쩔건데
-
동네에 일식밖에 없어
-
쾌변완료
-
너네는먼지잘닦아라
-
선착순 1명 12
먐먐밈 똥사진
-
선착순 1명 8
오백더ㅓㄱ
-
각 대학교에서 알바들 풀어놓은거임??대학관계자임..?? 아니면 자기 모교 입결이...
-
"미국, 유럽산 상품에 10% 일괄관세 부과 검토" 1
[앵커] '관세 전쟁'에 시동을 건 트럼프 행정부가 유럽연합에서 생산된 상품에...
-
4연승만 쌈뽕하게 조지면 갈수 있어요
-
선착순 5명 ?덕 19
-
[단독]‘리니지’ 엔씨 보안프로그램, 10년전 北해커에 뚫렸다 2
유명 게임 ‘리니지’의 불법 사설 서버 운영자가 북한 공작원 해커와 결탁해 보안...
-
약간 답답하고 그러는데 이럴수잇는건가요?
-
댓글 달면 질문해드려요 38
。◕‿◕。
-
밤새야하나 0
과하게 말똥하네
-
시 발
-
선착순 1명 15
나랑결혼 ㄱ
-
너무싫어 내가벌어서 쓰는건데왜참견인지모루겟음 그냥 한번 얘기하는거면 모르겠는데...
-
선착순 1명 14
5만덕
-
레전드 얼버기 3
얼리버드기상
-
비냉 시킴 4
걸리면 아침밥이라고 우긴다
-
다니던 대학 졸업하고 다른곳으로 옮길 수 있나요??
-
두분다 안주무심 지금으로써는 들키고 비는거밖에안떠올름
-
오늘은 조용하네
-
이모드깔고 바닐라로 새 인생 살고싶어졋는데 얻덕하냐 또 엔딩에서 한발짝멀어짐
-
오늘뭔날인가 진짜 비냉먹고싶어서 눈물나어는데 왜이러는거냐
-
6일 정도 나오려나. 별루 없네
-
뭐 140살까지 살고 그런다는데 진짜 140년동안 뭐해야함?.?... 140살까지...
-
오늘 밤 다시뵈요
-
롤체가 재밌는듯 내가 원챔유저라그런가..
-
새르비 장점 1
특정 당할 확률 적어서 좀 더 솔직해져도 됨
-
10년안에 인공지능 발전해서 특이점오는데 그냥 놀아도됨 당장 학원다 그만두세요
-
새벽 헬스완 4
아 유산소 개힘드네
-
배고파 0
비냉먹고싶어..
-
댓글은 하나도 없는데
-
맞팔구 14
은발테닝테두리를 받고 싶도다.. ?
-
72점 뭐지 필기 이리 쉬운거였음?
첫번째 댓글의 주인공이 되어보세요.