컴공 일기269
알고리즘 큐로 넘어왔습니다.
알고리즘 문제를 풀기 전에는 늘 그것과 관련된 자료구조를 직접 구현을 해봅니다.
이유야 여러가지 있겠지만, 사고방식을 세부 구현에 맞추다 보면 알고리즘 해법을 조금 더 잘 찾을 수 있거든요.
#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를 선물하세요.
-
안녕하세요 :) 디올러 S (디올 Science, 디올 소통 계정) 입니다....
-
독서 지문에서 생명 내용이면 항상 다 맞고 물화를 어려워하고 싫어한다는 이유로...
-
히힛
-
정말 아름답지 않나
-
롸잇나우
-
현역때 탐구 공부 4모? 이후로 하나도 안하다가 7모보고 좆된거같아서 9월쯤 현강...
-
물1이랑 꽤 유사하네요 2차원->3차원 사실 내신 물2반이었는데 수업 안들어서 물2...
-
도전!!!!
-
입결표 떴네 12
뇌피셜이긴한데
-
맞프으ㅡㅡ앙ㄹ
-
다들 비주얼이 ㅎㄷㄷ
-
아 찾았다 11
아직 계시는구나
-
고2 내신 물화생 고3 겨울 지구런 찍먹 고3 겨울 생윤 사문 사탐런을 거친 사람...
-
그때 의사들이 쓰는 IMS라는 치료법이 침술을 대체하는 거라고 말 나왔는데 한의사들이 이김
-
노뱃일땐 추천 잘 안박혔는데 약간만 소신발언해도 바로 따봉박히네
-
서울대 항우공 3
서울대 항공우주공학과 점공상 컷 몇점인가요… 400점 이상이면 무조건 합격한다 보면 되나요??
-
만점이 필요해요
-
씻어야지 2
아우 귀찮아!
-
화미쌍지 2
이 조합으로 설자전이나 경제 ㄱㄴ?
-
홍대 추합 0
한바퀴는 돌겠죠
-
뭐하지
-
궁금한데 980을 넘어가지않겠져?
-
저 국어4인데 하면 개빡이죠? 국어를 제대로 해본적이 없음
-
올해는 전혀 못받았네
-
칼럼도 여러 번 쓰셨고 저도 도움 받았던 분인데 탈르비 하셨나.. 02인가 01이셨어요
-
극한상쇄가 뭐임??
-
영어 지문 읽을 때 예를 들어서 이것은 불가능하다. 그렇기에 매력적이다. 라는 핵심...
-
새벽까지 존버 어케함
-
그냥 다 나름으로 힘들테니 밀고나가면 되지 했는데 글들을 검색해보 니 이러다 진짜...
-
스블 미적 1
거의 1주일 밀리는거 같은데 맞음???? 2월까지 완강이 되려나..... 빨리...
-
세뱃돈 받은거 7
2월에 여행가고 술마시면 다 써버릴 듯 아 술마셔서 관성으로 오르비 들어와버렸네...
-
ㅈㄱㄴ
-
밥먹어야되는데 2
아
-
오타쿠놀이ㅇㅈ 3
ㅇ
-
극한상쇄 왤케 긁히지 15
나를 화나게 하는 천잰가
-
헐 우루푸 뭐야 3
가쟈가쟈
-
지방일반고 1.28인데 인서울 약대 교과로 붙을 수 있나요? 생기부는 자신 없어서...
-
논란있는 육포 5
-
그냥 0임? 아닌것같은데
-
1월 31일까지 -> 2월 둘째주 까지로 변경합니다 똑같이 5명 드립니다
-
화남? 내리막? 대체 뭘 표현하고 싶었던 거지
-
과탐 투과목 12
과탐2로 갈아탈려는데지 지2 ㄱㅊ음?
-
게이차나 9
딩딩딩딩딩 딩딩딩딩딩
-
오늘따라 더 춥구나 15
-
ㅈㄱㄴ
-
가사가 슬프네
첫번째 댓글의 주인공이 되어보세요.