DLL을 이용하면 queue 역할을 수행하는 자료구조 DLLQueue를 쉽게 만들 수 있다
특히, DLLQueue은 링크드리스트를 이용하기 때문에 저장 가능한 데이터 개수의 제한이 없다는 장점이 있다.
DLLQueue이 enqueue할 때는 DLL의 꿑부분에서, dequeue할 때는 DLL의 앞부분에서 이루어진다.
입력은 두 개의 정수쌍들로 cmd, value로 주어지는 데
cmd = -3, value = 숫자이면 enqueue 이고, 이 때 value는 DLLQueue에 enqueue된다.
cmd = -4, value = -4이면 DLLQueue에서 dequeue가 수행된다.
cmd = -999, value = -999이면, DLLQueue에 저장된 값들을 DLL의 head부터 마지막까지 하나씩 출력한 후 프로그램을 종료한다. 각 숫자 사이에는 한 개의 공백문자가 있고, 끝에 줄바꿈은 없다.
예를 들어, 입력으로 다음이 주어지면,
-3 1
-3 2
-4 -4
-999 -999
출력은 다음과 같다.
2
주의할 점은, dequeue 할 때 empty queue를 고려하여야 한다.
만약 -999,-999가 입력된 시점에서 empty인 경우, Nothing (N은 대문자, 나머지는 소문자)를 출력한다. 맨 끝에 줄바꿈 문자는 없다.