Queue

less than 1 minute read

Queue

선입 선출인 자료구조(FIFO - First In First Out)

특징

  1. 특정 사이즈의 배열을 정해놓는다.
  2. 가장 앞 부분을 front(head), 가장 뒷 부분을 rear(tail) 라고 둔다.
  3. front, rear의 초기값은 보통 -1, 0 이다.
  4. 초기값이 0인 경우는 배열의 크기를 하나 더 크게 한다.
  5. enqueue(add, put, insert) 값 넣기 : rear ++
  6. dequeue(remove, get, delete) 값 빼기 : front –
  7. front == rear 일 때 Queue 는 공백이다.
  8. rear == 배열 사이즈-1 이면 가득 찬 상태이다.
  9. 배열 출력하기

선형 큐는 일정한 크기의 배열에 데이터를 채우고 데이터를 삭제하여도
배열공간은 남아있지만 끝까지 데이터를 채웠을 때
더 이상 데이터를 넣을 수 없다.
재배열도 가능은 하지만 지연시간을 고려해야한다.

그 단점을 해결하고자 나온 것이 배열을 순환 시키는 원형(환형) 큐 이다.

개인의견 : 임베디드는 unsigned를 많이 사용하니까 초기값을 0으로 두는 것도 나쁘지 않을 것 같다.
포인터, 배열은 어느 위치(주소)를 가리키고 있는가가 중요

큐 사용 예

참고 블로그 1

참고 블로그 2

참고 블로그 3

참고

너비 우선 탐색 wikipedia

코드

```C


```


Go to top

Tags:

Categories:

Updated:

Leave a comment