선입선출(First-In-First-Out : FIFO) : 먼저 들어간것이 먼저 나온다
Queue 이전에 배웠던, LinkedList로 구현한다.
Queue 를 Array 로 개발하는 것은 상당히 비효율적이다.(특히 삭제시, 데이터를 1칸씩 앞으로 땡겨와야 한다.) => 다음 포스트에 나오겠지만, 원형 큐가 생겨나게 된 이유이다.
offer : 삽입 (Enqueue)
1. 처음에 Dummy Head 와 Dummy Tail 이 한곳에 동시에 저장 되어 있다.
2. 데이터가 삽입이 이루어 지면서, Tail 노드를 뒤로 이동시킨다.
poll : 추출 (Dequeue)
1. 데이터(result) 의 pointer 를 끊어낸다. = 제거
2. Head의 next pointer 를 재설정 한다. ⇒ 뒤에 쌓여 있는 데이터를 앞으로 땡겨오는 과정.
=> LinkedList 의 경우 pointer 만 재설정 해주면 되는 반면, Array는 한칸 씩 모두 앞으로 땡겨와야 하는 작업이 필요(비효율적)
peek
0번째 인덱스에 있는 항목을 복제하여 추출
'자료구조' 카테고리의 다른 글
Hash (0) | 2022.12.11 |
---|---|
Queue(원형 큐 : Circular Queue) (0) | 2022.12.11 |
Stack (0) | 2022.12.11 |
Double LinkedList (0) | 2022.12.11 |
Single LinkedList (0) | 2022.12.10 |