SORU
16 EYLÜL 2008, Salı


Nasıl bir sıra iki yığınları kullanarak uygulamak için?

İki yığınları ve başka bir geçici değişken olduğunu varsayalım.

Olası "" kuyruk veri yapısı iki yığınları sadece? kullanarak oluşturmaktır

CEVAP
16 EYLÜL 2008, Salı


2 yığınları tutmak, onlara inbox outbox Ara.

Sıra:
- inbox üzerine yeni eleman itin

Sıradan çıkarma:
outbox boş, inbox her öğe haşhaş ve outbox üzerine basarak tekrar doldur
- outbox üst öğe Pop dönün

Bu yöntemi kullanarak, her element her biri tam olarak bir kez yığını - eleman iki kez itti olacak her anlam ve iki kez, itfa edilmiş sabit zaman operasyon vererek attı.

İşte Java: bir uygulama

public class Queue<E>
{

    private Stack<E> inbox = new Stack<E>();
    private Stack<E> outbox = new Stack<E>();

    public void queue(E item) {
        inbox.push(item);
    }

    public E dequeue() {
        if (outbox.isEmpty()) {
            while (!inbox.isEmpty()) {
               outbox.push(inbox.pop());
            }
        }
        return outbox.pop();
    }

}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DominicFear

    DominicFear

    30 Kasım 2006
  • Phandroid

    Phandroid

    26 Ocak 2009
  • TomSka

    TomSka

    30 Mayıs 2006