English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Come implementare una coda in Java per emulare uno stack?

AStack È un sottomastroVettore Classi e rappresentazione crescenteAST In Last Out (LIFO)Oggetti stack. L'ultimo elemento aggiunto alla cima dello stack (In) può essere l'elemento primo da rimuovere (Out).

ACoda Estensione delle classiRaccolta Interfaccia e supportoInserimento eRimozione Operazioni utilizzate Prima nell'ingresso e nell'uscita (FIFO) Possiamo anche implementare uno stack utilizzando Queue nel seguente programma.

Esempio

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("Un elemento rimosso da uno stack è: " + 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);
   }
}

Risultato di output

[40, 30, 20, 10] Un elemento rimosso da uno stack è: 40[30, 20, 10]