큐,queue

action
  • add(x) or enqueue(x) or put(x) or insert()
  • remove() or dequeue() or get() or delete()
  • is_empty() - check emptiness

위치? (Weiss C)
  • front - start of the list - dequeue/delete가 이루어지는 위치. 꺼내진 것은 returned.
  • rear - end of the list - enqueue/insert가 이루어지는 위치.

속성? 암튼 내부변수로
  • size or get_size()
  • maximum size? (bound)
  • front
  • rear (이 둘은 index. - 혹은 pointer?)

분류
FIFO (first-in-first-out)
LIFO (last-in-first-out)
LIFO queue를 스택,stack이라고 함

Sub?:

Weiss C chap3.4

insertion이 한 쪽에서만, 그리고 deletion이 그 반대 쪽에서만 이루어지는 리스트,list의 일종.
배열,array 구현:
enqueue(x) : size와 rear를 증가, QUEUE[rear]에 x를 대입.
dequeue() : return value는 QUEUE[front]이며, size 감소, 그리고 나서 front 증가.
circular_array 구현:
front와 rear가 끝(end)에 도달하면 시작(beginning)으로 wrapped around.
size를 쓰지 않고 front/rear만으로 구현하는 방법도 있음.
에러,error / 예외,exception 상황:
overflow / full