[Algorytmy] Stosy i kolejki

Awatar użytkownika
alternox
Użytkownik
Użytkownik
Posty: 28
Rejestracja: 27 maja 2006, o 22:31
Płeć: Mężczyzna
Lokalizacja: Drzewce
Podziękował: 13 razy
Pomógł: 2 razy

[Algorytmy] Stosy i kolejki

Post autor: alternox »

Witam!
Mam problem. Mianowicie nie wiem, jak zapisać w pseudokodzie stos za pomocą dwóch kolejek (push, pop i stack-empty) i kolejkę za pomocą dwóch stosów (enqueue i dequeue).
Pomoże ktoś?
Ostatnio zmieniony 4 gru 2012, o 13:39 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Robson309
Użytkownik
Użytkownik
Posty: 30
Rejestracja: 4 mar 2010, o 20:35
Płeć: Mężczyzna
Lokalizacja: Pruszcz Gdański
Podziękował: 3 razy
Pomógł: 5 razy

[Algorytmy] Stosy i kolejki

Post autor: Robson309 »

Ja bym ze stosami zrobił to tak:

Kod: Zaznacz cały

stack-empty(S){
if(s.top==0)
return true;
else return false;
}

Kod: Zaznacz cały

Push(S,x){
S[stos_top]=x;
}

Kod: Zaznacz cały

pop(S){
if(stack_empty(S)==false){
x=S[stos_top]
stop--;
return x;
}else
error='stos pusty';
}
kolejki coś takiego

Kod: Zaznacz cały

enquee(S,x){
if(queue_full==true) blad;
else
{
S[S.koncna]=x;
S.kon=S.konca+1;
}
}
royas
Użytkownik
Użytkownik
Posty: 363
Rejestracja: 24 sie 2012, o 09:27
Płeć: Mężczyzna
Lokalizacja: Cieszyn
Pomógł: 80 razy

[Algorytmy] Stosy i kolejki

Post autor: royas »

Stos:

Kod: Zaznacz cały

Push(x)
    Glowna.enqueue(x)

Pop
     t=null
     while (Glowna.notempty) 
           t=Glowna.dequeue
           Pomocnicza.enqueue(t)
     while (Pomocnicza.notemty)
            Glowna.enqueue(Pomocnicza.dequeue)

    //lub: zamień Głowna z Pomocnicza
     return t

Ze kolejką podobnie.
ODPOWIEDZ