Notice
Recent Posts
Recent Comments
tony9402
[영상처리 스터디] Queue C로 구현하기 본문
반응형
자료구조 Queue를 를 이용하여 구조체 + 포인터를 이용해서 간단히 구현해보자.
Queue에 대한 함수를 간단하게 4개(push, front, pop, empty)만 만들어 사용하겠다.
간단하게 구현하는 과정을 아주 자세하게 그림을 밑에 올려놓았다. (애니메이션으로 일일이 다 만들었는데 혹시 쉬운 방법을 아는 사람은 댓글을 남겨주시면 감사하겠습니다.)
1. Queue에 push하는 과정
2. Queue에서 pop하는 과정
이를 C로 구현한 소스는 아래와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #include<stdio.h> #include<stdlib.h> struct queue { struct queue *next; int data; }; typedef struct queue Queue; Queue *head = NULL; Queue *tail = NULL; void init() { head = (Queue*)malloc(sizeof(Queue)); head->next = NULL; tail = head; } void push(int data) { Queue *New = (Queue*)malloc(sizeof(Queue)); New->next = NULL; tail->data = data; tail->next = New; tail = New; } void pop() { Queue *del = head; head = head->next; free(del); } int front() { return head->data; } int IsEmpty() { return head == tail; } int main() { init(); for (int i = 0; i < 10; i++) { push(i); } while (!IsEmpty()) { printf("%d\n", front()); pop(); } return 0; } | cs |
반응형
'알고리즘 > 공부' 카테고리의 다른 글
[영상처리 스터디] Queue를 이용해 문제를 풀어보자. (0) | 2019.01.14 |
---|---|
[영상처리 스터디] Queue 구현을 조금 개선시키기 (0) | 2019.01.14 |
[SCCC 스터디] 선택, 퀵, 머지, 카운팅 소트 (0) | 2019.01.14 |
[SCCC 스터디] 힙 정렬 직접 구현 (0) | 2019.01.14 |
[SCCC 스터디] 3일차 정렬 (0) | 2019.01.13 |
Comments