powrót
Ćwiczenia 8 - Stosy i kolejki
Main
STRUCT-STACK S
PUSH(S,1)
PUSH(S,2)
WRITE(S)
PUSH(S,3)
WRITE(S)
WRITE(STACK-EMPTY(S))
WRITE(POP(S))
WRITE(POP(S))
WRITE(S)
WRITE(POP(S))
WRITE(POP(S))
WRITE(S)
WRITE(STACK-EMPTY(S))
STRUCT-QUEUE Q
ENQUEUE(Q,1)
ENQUEUE(Q,2)
WRITE(Q)
ENQUEUE(Q,3)
WRITE(Q)
WRITE(QUEUE-EMPTY)
WRITE(DEQUEUE(Q))
WRITE(DEQUEUE(Q))
WRITE(Q)
WRITE(DEQUEUE(Q))
WRITE(DEQUEUE(Q))
WRITE(Q)
WRITE(QUEUE-EMPTY)
Stos (0,5 pkt termin: 20:59:00 03-12-2015)
STRUCT-STACK
[n]
top = 0
STACK-EMPTY(S)
if S.top = 0
return true
else
return false
PUSH(S,x)
S.top = S.top + 1
if S.top > n
error "przepełnienie"
else
S[S.top] = x
POP(S)
if S.top = 0
error "niedomiar"
else
S.top = S.top - 1
return S[S.top + 1]
Kolejka (0,5 pkt termin: 20:59:00 03-12-2015)
STRUCT-QUEUE
[n]
head = 1
tail = 1
QUEUE-EMPTY(Q)
if Q.head = Q.tail
return true
else
return false
ENQUEUE(Q,x)
if Q.tail = Q.length
if Q.head = 1
error "przepełnienie"
else
Q[Q.tail] = x
Q.tail = 1
else
if Q.head = Q.tail + 1
error "przepełnienie"
else
Q[Q.tail] = x
Q.tail = Q.tail + 1
DEQUEUE(Q)
if Q.head = Q.tail
error "niedomiar"
else
x = Q[Q.head]
if Q.head = Q.length
Q.head = 1
else
Q.head = Q.head + 1
return x
- Scalanie dwóch stosów
- Scalanie dwóch kolejek
- Rozmiar kolejki
- Implementacja stosu przy pomocy dwóch kolejek (2 pkt termin: 20:59:00 03-12-2015 lub zad.5)
- Implementacja kolejki przy pomocy dwóch stosów (2 pkt termin: 20:59:00 03-12-2015 lub zad.4)