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ś?
[Algorytmy] Stosy i kolejki
-
- 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
Ja bym ze stosami zrobił to tak:
kolejki coś takiego
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';
}
Kod: Zaznacz cały
enquee(S,x){
if(queue_full==true) blad;
else
{
S[S.koncna]=x;
S.kon=S.konca+1;
}
}
-
- 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
Stos:
Ze kolejką podobnie.
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.