컴공 일기269
게시글 주소: https://9.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를 선물하세요.
-
어쩐지익숙한맛이더라
-
심지어 수강신청 시간보다 10분 늦게 일어나서 했음 알람이 왜 필요한데 ㅋㅋ
-
이런여친좀
-
좋아 5
좋은 아침이라는 뜻
-
누구는 650 누구는 648 누구는 649 다 제각각이라 제가 직접 세볼게요 점공...
-
[칼럼] 같은 문제에 사람마다 걸리는 시간이 다른 이유 6
안녕하세요 수학강사 이대은입니다. 좋아요, 팔로우 댓글 부탁드려요,,,,, 오늘도...
-
그러면 오르비를 오래 할 수 없으므로 참음
-
댓글 알림 없나 댓글추적 이런거
-
이렇게 늦게한건 본적이 없다
-
3월 전까지 2
국어 - 아무것도 안함 수학 - 스블+ 기출 영어 - 자이스토리 사탐- 개념 수논-...
-
오리진이 필수 강의인줄 알고 내신이 12월 말에 끝나서 오리진 듣다가 올오카 밀려서...
-
설수교 cc 많을까요? 1차 점공도 다 안 들어왔고 예비도 안 준다고 해서...
-
간다
-
자퇴완 1
뭐가 이렇게 간단함 허전하뇨...
-
ㅇㅇ 추천좀 약간 주간지처럼 꾸준히 풀고싶음
-
기 습 찬 양
-
어디로가는게나을까요?
-
저는 알리오 올리오
-
꾸준히 풀만함?
-
정석민 국어 1
정석민 선생님 사고과정을 새로운 지문에 적용시키고 싶은데 풀기 좋은거 있을까요
-
지문 읽고 선지 보니까 그냥 너무 구체적으로 물어서 선지 전부 아예 모르겠더라고요....
-
둘다 공대이고 낮공일 수도 있고 높공일 수도 있음
-
강의 들어보니까 개좋은데 진심
-
2타인 윾머벨의 인셉션이 개띵강의인데 ㄹㅇ...
-
시대재종 대치 와 목동( 반장학)인데 어디 가야할까요? 선택 어렵네요 ㅠㅠ
-
순진한여자들 22살되면 걍 비키니입고 클럽다니네
-
문학, 독서별로 각각 어떤 지문이 가장 어려웠나요? 설대 서울대 연대 고대 성대...
-
레어는 왜 안 들어오나요
-
자퇴하러가는길 2
-
ㅘㅇ성공맨
-
4규 시즌1 수1수2 끝냈는데 4규 미적 난이도 시즌1이랑 2중에 어디에 더 가까움?
-
캬아옹
-
자퇴하러가는중 3
안녕
-
문형배 헌법재판소장 권한대행 탄핵안이 발의된 것으로 확인됐다. 이번 탄핵안을 발의한...
-
김승리 현강 과제에 피램까지 푸는 건 비효율일까요? 7
올오카 현강 과제를 뭔가 푸는데 다 맞고 매일 주시는 과제도 2시간?이면 끝나는데...
-
수능 사문생윤으로 치고싶어서 이지영 강의듣고있는 중인데 3학년 1학기 내신이...
-
07 당뇨 2
07년생이 당뇨 오기도 하나 본인 6개월만에 62->76됐는데 요즘 저혈당 와서 미치겠음
-
뱃지 내놔아 2
다들 뱃지 받으려고 대학 가는거 맞죠?
-
대학커뮤니티 노크에서 선발한 성균관대 선배가 오르비에 있는 예비 성균관대학생,...
-
빨리하라고!!!
-
저혈당 5
1주일째 10시쯤만 되면 저혈당 오는데 어카지 막 어지럽고 토할거같고 가슴...
-
유대종 인셉션 독해 3회독째인데 선생님덕인지 독서지문이 더 이상 무섭지 않아요..!...
-
그게 바로 나야~
-
ㅇㅂㄱ 2
도서관으로
-
생명공 1
유전 ㅈㄴ못하는데 생명공가도 괜찮은가
-
치vs의 6
경희치 고신의 너무 고민되네...
-
날씨 이게 맞나 8
얼어뒤질 것 같은뎁쇼
첫번째 댓글의 주인공이 되어보세요.