powrót

Ćwiczenia 8 - Stosy i kolejki

Stos (0,5 pkt termin: 13:30:00 03-12-2014)

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: 13:30:00 03-12-2014)

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
  1. Scalanie dwóch stosów
  2. Scalanie dwóch kolejek
  3. Rozmiar kolejki
  4. Implementacja stosu przy pomocy dwóch kolejek (2 pkt termin: 13:30:00 03-12-2014 lub zad.5)
  5. Implementacja kolejki przy pomocy dwóch stosów (2 pkt termin: 13:30:00 03-12-2014 lub zad.4)