Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 큐를 사용하여 스택을 어떻게 구현할 수 있습니까?

<시간/>

스택 벡터 의 하위 클래스입니다. 클래스이며 l선입 선출(LIFO)을 나타냅니다. 개체의 스택입니다. 스택의 맨 위에 추가된 마지막 요소(In)는 스택에서 제거되는 첫 번째 요소(Out)가 될 수 있습니다.

대기열 클래스 확장 컬렉션 인터페이스이며 삽입 을 지원합니다. 및 제거 선입 선출(FIFO)을 사용하는 작업 . 아래 프로그램에서 Queue를 사용하여 Stack을 구현할 수도 있습니다.

예시

import java.util.*;
public class StackFromQueueTest {
   Queue queue = new LinkedList();
   public void push(int value) {
      int queueSize = queue.size();
      queue.add(value);
      for (int i = 0; i < queueSize; i++) {
         queue.add(queue.remove());
      }
   }
   public void pop() {
      System.out.println("An element removed from a stack is: " + queue.remove());
   }
   public static void main(String[] args) {
      StackFromQueueTest test = new StackFromQueueTest();
      test.push(10);
      test.push(20);
      test.push(30);
      test.push(40);
      System.out.println(test.queue);
      test.pop();
      System.out.println(test.queue);
   }
}

출력

[40, 30, 20, 10]
An element removed from a stack is: 40
[30, 20, 10]