0
를 같이 2 큐 만들기Java 배열 큐
ArrayQueue q1 = new ArrayQueue();
ArrayQueue q2 = new ArrayQueue();
for (int i = 0; i < 5; i++) {
q1.enqueue(new Integer(i));
}
for (int i = 5; i < 10; i++) {
q2.enqueue(new Integer(i));
}
System.out.println("q1: " + q1);
System.out.println("q2: " + q2);
그것은 출력 : q1: 4,3,2,1,0
및 q2: 9,8,7,6,5
.
대기열 q2
을 인터리빙 된 요소 인 대기열 q1
에 병합하는 방법이 필요합니다. 따라서 println
'을 다시 출력하면 q1: 0,5,1,6,2,7,3,8,4,9
및 q2: 9,8,7,6,5
이 출력됩니다.
내 클래스는 모든 적절한 방법 enqueue
이 dequeue
는, peek
이 isEmpty
는, size
는, doubleSize
가 ... 내 방법 이름이 포함
public void mergedQs(ArrayQueue q) {
}
은 기본적으로 내가이 큐에 개체를 추가 할를 다음 병합 첫 번째 큐에 두 번째 큐가 추가됩니다. 이상적으로 나는 그것들을 캐스팅하거나 ArrayList를 사용하여 큐를 유지하기를 원합니다.
나는 ConcurrentLikedDeque를 사용할 것을 제안합니다. 여기에 대한 API는 [ConcurrentLinkedDeque]입니다 (http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html). enqueue, dequeue 등의 메소드를 가진 클래스가 이미있는 경우 ConcurrentLinkedDeque를 클래스에 랩핑하고 객체를 저장하기위한 기본 데이터 구조로 사용할 수 있습니다. – nikkatsa