Queue
Queue
선입 선출인 자료구조(FIFO - First In First Out)
특징
- 특정 사이즈의 배열을 정해놓는다.
- 가장 앞 부분을 front(head), 가장 뒷 부분을 rear(tail) 라고 둔다.
- front, rear의 초기값은 보통 -1, 0 이다.
- 초기값이 0인 경우는 배열의 크기를 하나 더 크게 한다.
- enqueue(add, put, insert) 값 넣기 : rear ++
- dequeue(remove, get, delete) 값 빼기 : front –
- front == rear 일 때 Queue 는 공백이다.
- rear == 배열 사이즈-1 이면 가득 찬 상태이다.
- 배열 출력하기
선형 큐는 일정한 크기의 배열에 데이터를 채우고 데이터를 삭제하여도
배열공간은 남아있지만 끝까지 데이터를 채웠을 때
더 이상 데이터를 넣을 수 없다.
재배열도 가능은 하지만 지연시간을 고려해야한다.
그 단점을 해결하고자 나온 것이 배열을 순환 시키는 원형(환형) 큐 이다.
개인의견 : 임베디드는 unsigned를 많이 사용하니까 초기값을 0으로 두는 것도 나쁘지 않을 것 같다.
포인터, 배열은 어느 위치(주소)를 가리키고 있는가가 중요
Leave a comment